Java 主要参数标识为主类

Posted

技术标签:

【中文标题】Java 主要参数标识为主类【英文标题】:Java main argument identified as main class 【发布时间】: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 重载选项(它是通用基础架构)。

【问题讨论】:

***.com/questions/7134486/… 【参考方案1】:

好吧,您将整个“-X...-D...-cp ... Main”作为单个参数传递。相反,您应该:

Process p = Runtime.getRuntime().exec(new string[] 
    "cmd.exe", "/c", "javaw.exe", "-X...", "-D...", "-cp", "...", "Main", "0");

【讨论】:

对。不知道这很重要……谢谢。

以上是关于Java 主要参数标识为主类的主要内容,如果未能解决你的问题,请参考以下文章

创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。

创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它

创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。

java基础_类和对象—1

创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方 法初始化x和y。创建类主类A来测试它。

_java基础_类和对象—4