Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 更改类路径以启动vm_Linux_Junit_Virtual Machine_Jdi - Fatal编程技术网

Linux 更改类路径以启动vm

Linux 更改类路径以启动vm,linux,junit,virtual-machine,jdi,Linux,Junit,Virtual Machine,Jdi,首先,我正在linux上工作:)我正在尝试使用JDI启动一个VM。我需要更改连接器中的参数。该连接器是Bootstrap.virtualMachineManager()中的LaunchingConnector连接器。 代码如下所示: for (LaunchingConnector connector : Bootstrap.virtualMachineManager(). launchingConnectors()) { if (connector.name

首先,我正在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);
    /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
它抛出VMStartException,因为它尝试运行如下命令:

    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);
    /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并更改端口号


谢谢

我相信用于启动机器的类路径不会被您创建的新VM自动继承。但是,如果您使用环境变量来定义类路径,它们看起来是继承的。有关类似问题,请参阅