IntelliJ IdeaをLinuxで実行しています。プロジェクトとその中にモジュールを作成し、そのモジュールにクラス(MyClass.class)があり、それをIDEから実行しようとすると、
エラー:MyClass.class(そのようなファイルまたはディレクトリはありません)
IntelliJ Ideaがモジュール内のクラスを認識しない理由を誰かが説明できますか?モジュールの設定に問題があるはずですが、わかりません。Ubuntu 11.10を使用しています
OK私はここにすべての人が見るパスとすべてを配置します:)
タイプ:echo $ PATH
結果: / usr / lib / lightdm / lightdm:/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games :/ usr / lib / jvm / java-7-openjdk-i386 / bin:/ usr / lib / jvm / java-7-openjdk-i386 / bin:/ usr / lib / jvm / java-7-openjdk-i386 /置き場
タイプ: echo $ JAVA_HOME 結果:
/ usr / lib / jvm / java-7-openjdk-i386
タイプ: ./idea.sh 結果:注:Sun JDKとOpenJDKの両方がインストールされている場合は、IDEA_JDKまたはJDK_HOME環境変数が有効なSun JDKインストールを指していることを確認してください
Arkde、私は、JDK7を使用したJaroslavのソリューションがうまく機能しなかった理由を説明できます。
たぶんあなたはさまざまな代替アイテムにJavaバージョンが混在していて、環境変数が好きJAVA_HOME
でJDK_HOME
指し示しているバージョンと競合しているのではないでしょうか?
たぶん、何か/usr/lib/jvm/default-java
がJDKホームとしてのシンボリックリンクを指しており、そのシンボリックリンクは意図したものとは異なるバージョンのJDKを指していますか?
すべてのJavaツールの代替をバージョン7にリセットしてみましたか?このような:
update-java-alternatives --list
# ...see what JDK's are available, choose the one that corresponds to Java 7
# and set it to be the default in alternatives:
sudo update-java-alternatives --set java-1.7.0-openjdk-amd64
# or interactively:
sudo update-alternatives --config java
システムで次のコマンドは何を出力しますか?
echo $JAVA_HOME
echo $JDK_HOME
ls -l /usr/lib/jvm/default-java
update-java-alternatives --list
update-alternatives --list java
私はまったく同じ問題を抱えていました。Ideaプロセスでstraceを実行したところ、ログにopen("SomeClass.class", O_RDONLY) = -1 ENOENT (No such file or directory)
、プロジェクトの出力ディレクトリと適切なパッケージへのパスがないなど、パスが指定されていない複数の.classファイルを開こうとしているのがわかりました。
したがって、私はJDK 6に沿ってJDK 7をapt-getインストールしました:
apt-get install openjdk-7-doc openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless openjdk-7-jre-lib openjdk-7-source
Ubuntu 11.10 Oneiricでは、OpenJDK 7が必要な場合、OpenJDK 6は削除できません。JDK7はJDK 6に依存しています...
だから私は:
/usr/lib/jvm/default-java
を指すようjava-7-openjdk-amd64
にシンボリックリンクを変更しました、JAVA_HOME
とJDK_HOME
両方がを指しています/usr/lib/jvm/default-java
)、と出来上がり-問題は解決しました!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加