私はEclipseからエクスポートされたjarファイルを持っています(Runnable JAR >>必要なライブラリをサブフォルダにコピーしてください)。あなたがメインクラスを設定しなかった場合は、jarファイル内の別のメインクラスを実行したい場合はHadoopのjava jarファイルからクラスを実行するには?
java -jar MyTest.jar arguments
のか:あなたはmanifest.xmlにでメインクラスを設定している場合
Javaでは、あなたは実行することができますmanifest.xmlで次のコマンドを実行します。
のHadoopでjava -cp MyTest.jar MyOtherMainClass arguments
をメインクラスは、あなたが実行できるのmanifest.xmlに設定されている場合:
hadoop jar MyTest.jar arguments
あなたが入力した場合:
hadoop jar MyTest.jar MyOtherMainClass arguments
それはjarファイルのオリジナルのメインクラスの「引数」配列の引数(クラスは実行しないよう)としてMyOtherMainClassを検討します。
jarファイルで別のメインクラスを実行する場合は、何を入力しますか?
は、私は次のように何かを期待する:
hadoop java -cp MyTest.jar MyOtherMainClass arguments
をそれは与える:
Error: Could not find or load main class java
お知らせ:私はから "Hadoopの" を削除した場合 "のHadoopのjava -cp MyTest.jar MyOtherMainClass引数" を正常に起動します
こんにちは、私は非常にばかげた問題で、私は在庫がある。 私はそれをローカルに.jarに変換して問題なくローカルに実行できるシンプルな(ちょうど印刷用の世界の).classファイルをローカルに持っています。しかし、私がhadoopクラスタに入れたとき、私は愚かなバグに直面する:JARは存在しないか、通常のファイルではない:/usr/reihan/test.jar 私はhadoop-builtin-例は問題なく単語カウントのようですが、私は自分自身の瓶を走らせたいときにこの問題に直面します。何か案が? –
まず、jarファイルを適切に生成しているかどうかを確認してください。アドバイスはeclipseを使用して生成します。次に、jarファイルのフルパスを使用して、HDFSにすでに格納されているかどうかを試してみてください。第3に、マニフェストファイルにメインクラスを設定してください。最後に、うまくいかない場合は、使用しているコマンドのコメントとjarファイルへのリンクを書きます。 –