我不清楚这个问题,但我会解释它,因为你想区分以下 2
java -jar fred.jar
和
java package.Main
这是程序的大纲
import sun.jvmstat.monitor.*;
...
HostIdentifier hostId = new HostIdentifier("localhost");
MonitoredHost monitoredHost = MonitoredHost.getMonitoredHost(hostId);
Set jvms = monitoredHost.activeVms();
for (Object i: jvms) {
VmIdentifier id = new VmIdentifier("//" + i + "?mode=r");
MonitoredVm vm = monitoredHost.getMonitoredVm(id, 0);
System.out.println(i);
System.out.println("\t main class: " + MonitoredVmUtil.mainClass(vm, false));
System.out.println("\t main args: " + MonitoredVmUtil.mainArgs(vm));
System.out.println("\t jvmArgs: " + MonitoredVmUtil.jvmArgs(vm));
monitoredHost.detach(vm);
}
该调用MonitoredVmUtil.mainClass(vm, false)
将返回“ jar
”或您的主类的名称,例如Main
。
你必须使用它$JAVA_HOME/lib/tools.jar
来编译和运行。