2017-04-16 24 views
0

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を見つけられませんでした。このプロジェクトは、事前に感謝:)

+1

ほとんどのオペレーティングシステムでjarファイル内に "そのまま"のネイティブライブラリを使用することはできません。ライブラリを通常のディスクファイルに展開して読み込む必要があります。 –

+0

[JarSpliceのFat Jar Creator](http://ninjacave.com/jarsplice) またはEclipseの実行可能なjarエクスポータを使いましたか? 私は、JarSpliceがDLLをディスクに抽出し、そこからロードするための魔法のJavaコード を追加すると思われます。 –

+0

まずrunnable jarエクスポータを使い、JarSpliceでそのjarファイルにネイティブを追加しました。 –

答えて

0

理由は、例外スタックトレースに指定されたJava 6

に準拠するよう設定されていますネイティブライブラリ。

+0

lwjgl.jarとネイティブをjarspliceで追加して、「メインクラスが見つかりません」というエラーが表示されました。 –

+0

@TrentStevensこのQ&Aは役立つかもしれません。[Eclipse:ネイティブでJARをパッケージ化する](http://stackoverflow.com/questions/7886316/eclipse-packaging-a-jar-with-natives?rq=1)それはあまりにもLWJGLについてです。 –

関連する問題