3

こんにちは、私は Eclipse でプロジェクトに取り組んでおり、友人に送信できるようにエクスポートしようとしています。エクスポート方法がよくわからないので、YouTube の動画をいくつか見ました。ビデオは言った。

  1. ファイル > エクスポート
  2. Java > 実行可能な Jar
  3. プロジェクトの起動構成、エクスポート場所、およびライブラリ構成を設定します。(私は lwjgl と slick 2d を使用しています) そこで、「必要なライブラリを生成された JAR にパッケージ化する」を選択しました。

次に、デスクトップでダブルクリックして起動しようとしましたが、何もありませんでした。次に、「java -jar my_jar_name.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 javaGame.Game.main(Game.java:37)
        ... 5 more

私のプロジェクトでの私の主な方法は次のとおりです。

参考: 最初の行は #34 行目、最後は #43 行目です。

public static void main(String[] args) {
    AppGameContainer appgc;
    try{
        appgc = new AppGameContainer(new Game(gamename));
        appgc.setDisplayMode(appgc.getScreenWidth(), appgc.getScreenHeight(), true);
        appgc.start();
    }catch(SlickException e){
        e.printStackTrace();
    }
}

さらに情報が必要な場合は、お知らせください。
PS これは、エクスポートしたいと思った Eclipse での最初の Java プロジェクトなので、これまでに行ったことはありません。

4

3 に答える 3

1

少し前に見つけた別のスタックオーバーフローの質問を参照した後、私はそれを理解しました。JarSplicer を使用して、ネイティブを jar に含めた Fat Jar を作成したところ、完全に機能しました。アプリをダブルクリックして実行できるようになりました。Eclipse と同じように実行されます。サポートに感謝します!

Eclipse プロジェクトを jar にエクスポートする

于 2013-07-08T01:24:29.283 に答える
1

次のように jar を実行できます。

java -jar my_jar_name.jar main_class_name

main_class_name は、メイン メソッドを含むクラス名です。

また、すべての依存関係を含む jar が正常に作成されたかどうかを確認することもできます。ライブラリ jar を追加する方法は次のとおりです。

プロジェクトを選択し、次の手順を実行します。

Build Path -> Configure Build Path... -> Select Libraries tab -> Add External JARS

または、 というフォルダを作成しlib、そのディレクトリに jar を配置してからlib、次の手順を実行することもできます。

Build Path -> Configure Build Path... -> Select Libraries tab -> Add JARS
于 2013-07-08T00:32:13.647 に答える