1

svnによってバージョン管理されたJavaプロジェクトがあり、Linux用のビルドを構成しようとしています。私の仕事用コンピューターではすべて正常に動作し、変更をコミットしました。ただし、両方の自宅のコンピューターで、このエラーが発生します。これは、セットアップの些細な問題のようです。

Exception in thread "main" java.lang.NoClassDefFoundError: adventure/Adventure
Caused by: java.lang.ClassNotFoundException: adventure.Adventure
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: adventure.Adventure. Program will exit.

srcをパスに追加するのを忘れましたか?それがubuntuでどのように見えるかはここにあります:

ここに画像の説明を入力してください

それはJava7でコミットされましたが、ubuntuにはJava 6しかありません。それでも機能しますか、それともJavaバージョンを完全に調和させる必要がありますか?

アップデート

ビルドパスをクリーンアップしてJARを再度セットアップしましたが、Java 7固有の機能を使用していないため、Java 6 JREを追加します。これは、JREをセットアップするだけで機能するはずです。しかし、LinuxでJREを追加する方法がわかりませんか?Windowsでも試すことができ、適切なJREを追加できるかもしれません。ここで、ビルドの問題があります。

おかげで、今は主な問題のように見えるJDKがなく、ビルドの問題だけがあります。

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    String cannot be resolved to a type

    at adventure.Adventure.main(Adventure.java:74)

私のJavaバージョンはうまくいくようです:

$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu3)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

インストールされているJREはOpenJDK6であり、次のように機能します。

ここに画像の説明を入力してください

私のクラスパス変数は次のようになります

ここに画像の説明を入力してください

4

2 に答える 2

3

通常、Javaプロジェクトはbinフォルダーなしでコミットする必要があります(無視するように設定します)。

プロジェクトがチェックインされたようです。もちろん、Java7からコンパイルされたクラスファイルを含めてJava6でロードすることはできません。

次のように進める必要があります。

ターミナルを開き、プロジェクトディレクトリに移動します

  • 実行するsvn delete bin
  • 実行するsvn propset svn:ignore bin .

Eclipseからこれを行う方法はありますか?

Eclipseに戻り、プロジェクトで「Clean」コマンドを実行して、EclipseがJavaバージョンを使用してプロジェクトを再構築するようにします。

于 2012-06-29T18:11:21.627 に答える
1

しかし、LinuxでJREを追加する方法がわかりませんか?

あなたは確かにPreferences->Java->InstalledJREsを知っています。usr / lib/jvmサブディレクトリでJavaインストールを参照してください。

于 2012-06-29T18:14:28.180 に答える