【发布时间】:2016-01-04 11:45:15
【问题描述】:
我在运行带有参数的 Java 进程时遇到问题,作为来自另一个 Java 管理器进程的命令。假设我有一个主类 Main,我想将 0 作为参数传递(对于 javaw.exe,它只是参数之一)。为了说明,如果我在控制台中运行这样的东西,它可以工作:
javaw.exe -X... -D... -cp ... Main 0
这将使用参数 0 运行 Main。现在,要从我的管理器应用程序运行它,我使用以下行:
Process p = Runtime.getRuntime().exec(new string[] {
"cmd.exe", "/c", "javaw.exe", "-X... -D... -cp ... Main", "0"});
我在 err 中得到以下输出:
Error: Could not find or load main class 0
换句话说,JVM 将 0 识别为主类。
不推荐使用不同的 exec 重载选项(它是通用基础架构)。
【问题讨论】: