Eclipse Oxygen.1a(OS:Windows 10 Home Edition 64-bit)でjarファイルを作成しました。私のプロジェクトのJREは、jre1.8.0_152(64ビット版)です。私は、Java 8 JREを使用して、私のjarファイルを実行すると、プログラムは完璧に動作しますが、私は、Java 9 JREを使用するとき、私は次のエラーを取得する:Java 9 JREにより、java.lang.NoClassDefFoundErrorが発生する:jar実行時にorg/apache/commons/lang3/StringUtilsが発生する
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
私は実行すると、このエラーが発生します。Java 9 JREを使用してjava -jar myjarfile.jar
を。
Apache Commons Lang(commons-lang3-3.7.jarがプロジェクトライブラリに追加されました)の最新バージョンを埋め込み、最新のJava 9 Runtime(jre9.0.1)を使用しました。 Apacheページには、Java 7.0以上が必要です。
Java 9とApache Commonsライブラリの間に互換性の問題はありますか?これを解決する方法はありますか?
更新:
:
コマンドラインは、これらの設定を使用して、Eclipseの持つRunnableをJARをエクスポートして作成(デバッグビュー、上の右クリックし、[プロパティ]をクリックします)
"C:\Program Files\Java\jre1.8.0_152\bin\javaw.exe"
-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:50317
-Dfile.encoding=UTF-8
-classpath "C:\Program Files\Java\jre1.8.0_152\lib\resources.jar;
C:\Program Files\Java\jre1.8.0_152\lib\rt.jar;
C:\Program Files\Java\jre1.8.0_152\lib\jsse.jar;
C:\Program Files\Java\jre1.8.0_152\lib\jce.jar;
C:\Program Files\Java\jre1.8.0_152\lib\charsets.jar;
C:\Program Files\Java\jre1.8.0_152\lib\jfr.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\access-bridge-64.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\cldrdata.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\dnsns.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\jaccess.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\jfxrt.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\localedata.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\nashorn.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\sunec.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\sunjce_provider.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\sunmscapi.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\sunpkcs11.jar;
C:\Program Files\Java\jre1.8.0_152\lib\ext\zipfs.jar;
C:\my Java lab\Eclipse Oxygen\Workspaces\JNotifier\JNotifier\bin;
C:\my Java lab\Eclipse Oxygen\Workspaces\JNotifier\JNotifier\src\libPack\commons-lang3-3.7.jar" libPack.JCostCalculator
第2のアップデート:私は他のWindows 10 pro 64ビットシステムとUb Java 9でLTS 16.04.3と同じ問題がありました。
** commons-lang3-3.7.jar **は私の側でうまく動作します。 1)アプリケーションを実行してください。2)終了したら、デバッグビューを開き、<終了した終了値:...>を右クリックし、プロパティをクリックします。3)コマンドラインからすべてをコピーして貼り付けます。ここの質問に。 – ZhekaKozlov
* jarファイルを作成しました。* Eclipseを使用していますか?あなたに続くステップを共有できますか? – nullpointer
@ZhekaKozlov私の投稿を更新しました。コメントには最大文字数があります。 – Zerthimon