2012-04-15 29 views
0

Eclipseで生成された.jarは他のコンピュータ(Windows XPの場合)で実行できません。 「メインクラスが見つかりませんでした。プログラムが終了します」というメッセージが表示されます。そのコンピュータはNetbeansによって生成されたもう1つの.jarを正常に実行するので、JREには問題はありません。私はJREを更新しましたが、何も変わりませんでした。何が問題ですか?"メインクラスが見つかりませんでした"エラー

更新:私は実行可能なjarファイルを作ったと言いました。 2つの別のコンピュータでは、正常に動作します(7とXPに勝ちます)が、その特定のものではありません。

更新2:それはSwingアプリケーションなので、JARはダブルクリックで実行されます。

+0

クラスの 'main'メソッドを実行しようとしていますか? – Bohemian

+0

はい。私はmainメソッドを持つJFrameを持っています。 – user1091733

+0

あなたは正しいです - 私はstackoverflowの機能に関連するすべてのものについて読む時間がありませんでした。私は "この答えは便利です"と思っていました。将来のための良い助言:) – user1091733

答えて

1

をマニフェストの内容を確認してください。 Main-Class: foo.Barの行は、jarファイルの/foo/Bar.classエントリに対応していなければならず、foo.Bar.javaには適切なメインメソッドが含まれていなければなりません。また、Class-Path:行のすべてのジャーの参照もコピーする必要があります。

「jar tvf my.jar」を使用してレイアウトを確認します。

+0

しかし、class-pathに何か問題があっても、他のコンピュータでうまく動作するのはどうでしょうか?ここに私のマニフェスト(1つのクラスでは非常にシンプルなアプリをメインパッケージに入れてみてください)マニフェスト - バージョン:1.0 クラスパス:。 Main-Class:main.Try – user1091733

+0

Class-Path:行にも参照されているジャーをコピーする必要があります。 –

+0

しかし、あなたが見ることができるように、ClassPathには追加のJARはありません(唯一の点があります)。アプリケーションは非常にシンプルです.JFrameを継承する1つのクラスは、1つのJButtonと追加コードなしで継承します。 – user1091733

0

あなたはこのように、クラスパスにjarファイルを置く必要があります。

java -classpath "C:\somepath\myapp.jar" mypackage.MyClass 
+0

私が書いたように、そのコンピュータはjarファイルの実行に問題はありませんでしたが、Netbeansによって生成されたので、問題はクラスパスに関連していないと思います。 – user1091733

+0

@ user1091733しかし、classpathはコンピュータに固有のものではありません。これは、Javaのすべての単一の実行に固有です。多分問題はクラスパスにないかもしれませんが、私たちがあなたの問題を解決したければ、あなたの言葉を取ることはできません。 –

関連する問題