1
首先,我正在使用linux :)我試圖使用JDI啓動VM。我需要更改連接器中的參數。該連接器是來自Bootstrap.virtualMachineManager()的LaunchingConnector連接器。 代碼是這樣的:更改類路徑啓動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的核心,我告訴它,因此新的類路徑是」 ../../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並更改端口號。
感謝