2016-09-25 1 views
0

я обращенная этой проблему при попытке запустить пример 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) 

я прочитал, что это происходит потому, что при создании банка файла я не выбрал основной файл ,

Это команда, которую я использовал для создания файла фляги для справки:

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.

+0

См https://docs.oracle.com/javase/tutorial /deployment/jar/appman.html –

ответ

2

попробуйте использовать файл манифеста для основного класса и использовать следующие шаги, чтобы создать банку

Создание 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 
Смежные вопросы