gpt4 book ai didi

linux - 更改类路径以启动 vm

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:33 25 4
gpt4 key购买 nike

首先,我在 linux 上工作 :) 我正在尝试使用 JDI 启动虚拟机。我需要更改连接器中的参数。该连接器是来自 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 并更改端口号。

谢谢

最佳答案

我相信用于启动机器的类路径不会被您创建的新 VM 自动继承。但是,看起来如果您使用环境变量来定义类路径,它们就会被继承。参见 Can't run JDI trace example: Error: Could not find or load main class对于类似的问题。

关于linux - 更改类路径以启动 vm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11726988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com