4

Eclipse からエクスポートされた jar ファイルがあります (実行可能な JAR >> 必要なライブラリをサブ フォルダーにコピーします)。

Java では、manifest.xml にメイン クラスを設定すると、次を実行できます。

java -jar MyTest.jar arguments

jar ファイルで別のメイン クラスを実行する場合、または manifest.xml でメイン クラスを設定しなかった場合は、次を実行できます。

java -cp MyTest.jar MyOtherMainClass arguments

Hadoop では、main クラスが 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 引数」から「hadoop」を削除すると、正常に起動します。

4

1 に答える 1