java - 创建jar时选择主类

标签 java eclipse jar classnotfoundexception executable-jar

我在尝试运行 Mapreduce Wordcount 示例时遇到此问题:

Exception in thread "main" java.lang.ClassNotFoundException: /usr/local/hadoop/input
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

我读到这是因为在创建 jar 文件时我没有选择主文件。

这是我用来创建 jar 文件的命令,供您引用:

javac -classpath /usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/* :/usr/local/hadoop/share/hadoop/common/* :/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/* :/usr/local/hadoop/share/hadoop/hdfs/* :/usr/local/hadoop/share/hadoop/yarn/lib/* :/usr/local/hadoop/share/hadoop/yarn/* :/usr/local/hadoop/share/hadoop/mapreduce/lib/* :/usr/local/hadoop/share/hadoop/mapreduce/* :/contrib/capacity-scheduler/*.jar -d wordcount_classes WordCount.java

基本上,我想我想要相当于这个问题的命令行:question .

最佳答案

尝试使用主类的 list 文件并使用以下步骤创建 jar

在命令提示符中创建 jar 文件

Start Command Prompt.
Navigate to the folder that holds your class files:

C:\>cd \mywork

Set path to include JDK’s bin.  For example:

C:\mywork> path c:\Program Files\Java\jdk1.7.0_25\bin;%path%

Compile your class(es):

C:\mywork> javac *.java

Create a manifest file and your jar file:

C:\mywork> echo Main-Class: Craps >manifest.txt

C:\mywork> jar cvfm Craps.jar manifest.txt *.class

or

C:\mywork> jar cvfe Craps.jar Craps *.class

Test your jar:

C:\mywork> Craps.jar

or

C:\mywork> java -jar Craps.jar

关于java - 创建jar时选择主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688934/

相关文章:

java - Eclipse的方法列表描述面板背景为黑色

php - 用于在 php 中注释/取消注释代码的 aptana 快捷方式

java - Eclipse 无法找到旧插件的操作集

java - 为什么 java 提示 jar 文件有很多条目?

android - 有什么方法可以指示 Proguard (在 Android 上)保存中间 jar 吗?

Java 与类型转换相关的重构

java - Netbeans 中单独模块中集成测试的 jacoco 代码覆盖率

Java:如何获取xml节点路径

java - eclipse 中的 SSL keystore 路径

java - Eclipse 中的 list 文件