2012-03-19 13 views
1

私は本当にシンプルなことをしようとしていますが、どうやってやるのか分かりません。私は、クラス定義を持つサードパーティ製のjarファイルを持っています。私は、メインメソッドを持つクラスを持っています。メインクラスは、jarファイル内のクラスを使用します。私はこのコマンドオプションでコンパイルしました。エラーの申し立てはありませんでした。私はサードパーティのjarファイルでコードを実行するには?

のjava -jar party.jar myMain

Exception in thread "main" java.lang.NullPointerException at sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:399) 
     at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:463) 

:私はプログラムを実行しようとしたとき、私は次のエラーを

のjavac -classpath party.jar mymain.java

ましたjarファイルにMain-Classオプションを追加する必要があると思います。しかしparty.jarファイルは第三者に属しているため変更できません。プログラムを実行するには何が必要ですか?自分のjarファイルを作成する必要がありますか?はいの場合は、そこに含める必要がありますか?

これは、正確なコマンドと出力

MYJAR] $ javacの-cp party.jar mymain.java

MYJAR] $ javaの-cp party.jar mymain

エラーです:見つかりませんでした。メインクラスのメンバをロードする

+0

コマンドを投稿できますかあなたはプログラムを実行するために走った? –

+0

メインクラスがmymain.javaにあるようです。どのようにプログラムを実行していますか? (例えばjava -jar mymain) – beefyhalo

+0

私はこのコマンドを使ってjava -jar party.jar myMainコマンドを実行しました。 – tadpole

答えて

2

代わりにjava -cp party.jar myMainを試してください。 -jarを使用すると、指定されたjarファイルでクラスを探すようにJVMに指示します。しかし、私が正しく理解していれば、party.jarにはmyMainクラスは含まれていません。ですから、あなたはあなたがコンパイルしたのと同じように-cpオプションを使ってparty.jarからクラスを使いたいのですが、あなたが入っているディレクトリからmyMainクラスを取り出したいとJavaに伝えるだけです。

+0

1)java -cp party.jar myMain。私はこのエラーを受け取りました。 "エラー:メインクラスのマイメインを見つけられないか読み込めませんでした" – tadpole

+0

あなたはそのコマンドを入力しなかったか、その出力を取得しませんでした。クラス名は大文字と小文字が異なります。 –

+0

「java mymain」を使用してプログラムを実行することもできます。あなたがparty.jarからインポートしたクラスの名前を持つClassNotFoundExceptionをスローした場合は、正常に動作するように-cp party.jarを追加するだけです。 mymainでエラーが発生した場合は、mymain.classが存在するディレクトリに存在することを確認し、mymain.javaでパッケージ宣言が使用されていないことを確認してください。 – pushy

関連する問題