EclipseからRunnable jarとしてエクスポートされた後、私のJavaゲーム(lwjglとEclipseを使用してビルド)は実行されません。プログラムはEclipse内でうまく動作し、エクスポートされたjarは正しいManifestファイル形式を持ちます。私は、(スタックオーバーフローの答えを使用して)修正エラー:jarでメインクラスを見つけることができません
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.lwjgl.Sys$1.run(Sys.java:73)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
at org.lwjgl.Sys.loadLibrary(Sys.java:95)
at org.lwjgl.Sys.<clinit>(Sys.java:112)
at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
at java.security.AccessController.doPrivileged(Native Method)
at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)
at core.SecDef.main(SecDef.java:13)
... 5 more
をhw.jar -jar \ Users \ユーザー7rentデスクトップ\> javaの追加するJarSpliceを使用:
C:このジャーを実行した後、それは私にエラーを与えましたlwjgl jarとネイティブをこのJarに追加します。
C:結果fatjarは私にこの与えます\ Users \ユーザー7rentデスクトップ>のjava \ -jar SD.jar
エラー:メインクラスを見つけるか、ロードできませんでしたcore.SecDef
のマニフェスト瓶は、この含まれています https://i.stack.imgur.com/ccpOH.png
とFatJarの内側には、次のようになります。私は、JREとJDKの今日、両方の最新バージョンをインストールしhttps://i.stack.imgur.com/hVBcD.png
システム変数の設定は行われません。
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
JVMがlwjgl
を見つけられませんでした。このプロジェクトは、事前に感謝:)
ほとんどのオペレーティングシステムでjarファイル内に "そのまま"のネイティブライブラリを使用することはできません。ライブラリを通常のディスクファイルに展開して読み込む必要があります。 –
[JarSpliceのFat Jar Creator](http://ninjacave.com/jarsplice) またはEclipseの実行可能なjarエクスポータを使いましたか? 私は、JarSpliceがDLLをディスクに抽出し、そこからロードするための魔法のJavaコード を追加すると思われます。 –
まずrunnable jarエクスポータを使い、JarSpliceでそのjarファイルにネイティブを追加しました。 –