우선 Linux에서 작업 중입니다. :) JDI를 사용하여 VM을 시작하려고합니다. 커넥터의 인수를 변경해야합니다. 커넥터는 Bootstrap.virtualMachineManager()의 LaunchingConnector 커넥터입니다. 나는 그렇게 새로운 클래스 경로가 "말할 ../../lib/junit-클래스 경로를 변경하여 VM을 시작하십시오.
for (LaunchingConnector connector : Bootstrap.virtualMachineManager().
launchingConnectors()) {
if (connector.name().equals("com.sun.jdi.CommandLineLaunch")) {
Map<String, Connector.Argument> map = connector.defaultArguments();
StringArgument arg = (StringArgument) map.get("main");
arg.setValue(mainClass); //junit core
arg = (StringArgument) map.get("options");
arg.setValue(classpath);
나는 그것이 JUnit을 코어를 찾습니다 있도록 클래스 경로를 변경하려고 : 코드는 다음과 같은 것입니다
: 나는 시도하고이 같은 명령을 실행하려고하기 때문에 그것이 VMStartException을 던졌습니다VirtualMachine vm = connector.launch(map);
을 실행하면 4.6.jar "
org.junit.runner.JUnitCore"및 클래스입니다 "
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java ../../lib/junit-4.6.jar -Xdebug -Xrunjdwp:transport=dt_socket,address=CIS-Visitor:57881,suspend=y org.junit.runner.JUnitCore
클래스 경로가 변경되지 않고 결국 VM을 반환하지 않습니다. 아무도 나에게 이것을 바꿀 수있는 방법을 말해 줄 수 있습니까? 또한 명령에서 -Xdebug를 꺼내 포트 번호를 변경하려고합니다.
감사