我的hadoop版本是0.20.2。虽然我打字
hadoop jar JarWithSeveralMainClasses.jar NonDefaultMainClass args...
它尝试执行main
. MainClassSpecifiedInJarManifest
为什么?
我想你可以在这里找到你的答案
如果 jar 文件包含在其清单文件中指定的主类,即使命令指定了另一个主类,hadoop 也会采用主类。这与普通的 java 执行不同,我们可以指定一个主类来覆盖清单文件中的那个。
如果 jar 文件在 manifest 文件中不包含主类,hadoop 允许我们指定主类。