首先,我正在使用 linux :) 我正在尝试使用 JDI 启动 VM。我需要更改连接器中的参数。该连接器是来自 Bootstrap.virtualMachineManager() 的 LaunchingConnector 连接器。代码是这样的:
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 核心,我告诉它,新的类路径是“../../lib/junit-4.6.jar”,类是“org.junit.runner。 JUnitCore”
当我尝试跑步时
VirtualMachine vm = connector.launch(map);
它会抛出 VMStartException,因为它尝试运行如下命令:
/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
它没有改变类路径,最后它没有返回一个虚拟机。谁能告诉我改变这种情况的方法?我还想从命令中取出 -Xdebug 并更改端口号。
谢谢