2012-07-30 3 views
1

우선 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를 꺼내 포트 번호를 변경하려고합니다.

감사

답변