3

このチュートリアルに従って、EclipseでSlick2dを起動して実行しようとしています。テスト アプリケーションをコンパイルしようとすると、次のエラーが発生します。

Exception in thread "main" java.lang.NoClassDefFoundError: org/newdawn/slick/BasicGame
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

これを修正する方法はありますか?

4

2 に答える 2

3

このエラーは基本的に、Slick に含まれているクラスの少なくとも 1 つが見つからないことを示しています。Slick .JAR ファイルを適切な場所に追加しなかったか、クラスパスが正しく設定されていないようです。プロジェクトに Slick .JAR ファイルを含める設定を再確認し、それが正しい場所にあり、適切にセットアップされていることを確認します。

公式のSlick Wikiには、セットアップ ガイドのより詳細なバージョンがあります。

于 2012-04-19T13:31:17.773 に答える
0

上記のコメントのリンクは役に立たなくなりました。それをクリックしようとしましたが、消えました。そのため、Stack Overflow のサイト内で順を追って説明するのが最善です。

ビルド パスが正しく設定されていません。あなたがする必要があるのは

1) ここから SLick2D jar をダウンロードしたことを確認します。

スリック - 忍者の洞窟

2) ここから LWJGL jar とネイティブをダウンロードしたことを確認します。

LWJGL - 必要なファイルのダウンロード ページ

3) プロジェクトを右クリックし、Build Path->に移動します。Configure Build Path

4) [ソース] タブでメニューを展開し、[ネイティブ ライブラリ] セクションに移動します。これは、LWJGL パッケージの適切なネイティブ ファイルに設定する必要があります。これは、natives というファイルにあります。OS を選択して続行します。

5) [ライブラリ] タブに移動します。まだ行っていない場合は、適切な LWJGL jar と Slick jar を追加します。頭が良ければ、LWJGL と Slick2D の両方のユーザー ライブラリを作成して、後で簡単に再利用できるようにします。ユーザー ライブラリを作成するには、[ライブラリの追加] -> [ユーザー ライブラリ] -> そのライブラリに必要な jar を外部の場所 (つまり、持っている LWJGL ダウンロード) から jar ファイルに追加するだけで、準備完了です。

ここで、すべてを正常に構成したら、プロジェクトを実行する必要があります。そうでない場合、それはビルド パスではなく、コードです。

お役に立てれば!

于 2014-03-05T23:36:11.203 に答える