【发布时间】:2017-08-18 11:28:13
【问题描述】:
我有一个从 Eclipse 导出的 jar 文件(可运行的 JAR>>将所需的库复制到子文件夹中)。
在java中如果你在manifest.xml中设置主类你可以运行:
java -jar MyTest.jar arguments
如果你想在 jar 文件中运行另一个主类,或者如果你没有在 manifest.xml 中设置主类,你可以运行:
java -cp MyTest.jar MyOtherMainClass arguments
在 Hadoop 中,如果在 manifest.xml 中设置了主类,您可以运行:
hadoop jar MyTest.jar arguments
如果你输入:
hadoop jar MyTest.jar MyOtherMainClass arguments
它会将 MyOtherMainClass 视为 jar 原始主类的“args”数组中的参数(而不是要运行的类)。
现在如果你想在 jar 文件中运行另一个主类,你会输入什么?
我希望类似:
hadoop java -cp MyTest.jar MyOtherMainClass arguments
但这给出了:
Error: Could not find or load main class java
注意:如果我从“hadoop java -cp MyTest.jar MyOtherMainClass arguments”中删除“hadoop”,它将正常启动
【问题讨论】:
标签: eclipse hadoop jar classpath mainclass