2

Java 1.6 を必要とする Java GUI アプリケーション (Netbeans 6.7 を使用) を作成しました。XP PC と Mac OSX (10.5.7) で正常に実行できました。

私のクライアントは Vista Business を実行していますが、jar ファイルをダブルクリックしてもアプリケーションを実行できません。彼はコマンドラインからそれを実行できます: " javaw -jar ... " 受け取ったエラーは: "メインクラスが見つかりません... プログラムは終了します".

クライアントに次のことを依頼しました。

  • 最新の JRE をインストールする
  • JarFix を実行する

私はそれを確認しました:

  • JRE が正しい場所にインストールされている
  • jar ファイルの関連付けが正しい
  • アプリケーションは動作します (私は XP と Mac OSX でテストしており、クライアントはコマンド ラインから実行できます)。

他に何を調査できるかについてのアイデアはありますか?Netbeans は、メインの jar ファイルと、いくつかの他の Jarfile を含む lib ディレクトリも作成したことに注意してください。jarfile を解凍し、マニフェスト ファイルを調べました (これは良さそうです)。正しいメイン クラスもアプリの jar ファイル内にあります。

クライアントは、アプリケーションが Vista でどこから実行されるかについて注意する必要がありますか?

どうもありがとう。プレンボ

4

3 に答える 3

2

まったく同じ JAR ファイルが他のオペレーティング システムでも機能しますか?

JARファイル内のマニフェストファイル(META-INF/MANIFEST.MF)は正しいですか? 注意すべき問題の 1 つは、マニフェスト ファイルが空行で終わらなければならないことです。そうでない場合、マニフェスト ファイルの最後の行は無視されます。たとえば、マニフェスト ファイルの最後の行が次のようになっているとします。

Main-Class: com.mypackage.MyProgram

その後に空行がない場合、Java はその行を無視し、プログラムのメイン クラスを見つけることができません。

アプリケーションを JAR にパッケージ化する方法の正確な詳細については、Java プログラムを JAR ファイルにデプロイする方法に関する Sun の Java チュートリアルを参照してください。また、マニフェスト ファイルは空行で終了する必要があるという警告も含まれています。

また、正しいバージョンの Java が使用されているかどうかを再確認してください。Windows XP とまったく同じバージョンの Java を使用していますか? 試す:

java -version

使用されている Java のバージョンを確認します。

于 2009-08-18T14:29:50.983 に答える
1

私は Vista Enterprise を実行していますが、他の Windows バージョン (Java に関して) との違いはほとんどありません。

うまくいくかもしれないし、うまくいかないかもしれないいくつかのランダムなアイデアを次に示します。

  • 試しましたか: Jar を右クリック -> Open with -> Java(TM) Platform SE Binary
  • 権限に関連している可能性がありますか?(コマンドライン経由で実行されるため、おそらくそうではありません)
  • UACをオフにして試しましたか?(UAC は Java アプリをサンドボックス化し、Program Files などの特定の場所に書き込むことはできません)
  • JAVA_HOME/lib/ext/ にあなたと同じファイルがあることを確認しましたか?
  • 環境変数の設定を試すことができます:
    • JAVA_HOME=<your_java_home>
    • クラスパス=。
    • PATH=<your_java_home>\bin
于 2009-08-18T18:26:27.210 に答える
0

場合によっては、Net Beans IDE と一緒に JDK を個別にインストールする必要があります。jdk がインストールされている場合は、環境変数で classpath,path を確認してみてください。

于 2009-08-26T17:51:45.790 に答える