Gradle は、正しく設定されているにもかかわらず、間違った JAVA_HOME を検出します 質問する

Gradle は、正しく設定されているにもかかわらず、間違った JAVA_HOME を検出します 質問する

gradle を実行しようとすると、次のエラーが発生します。

# gradle

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

ただし、JAVA_HOME 変数を確認すると、次のようになります。

# echo $JAVA_HOME 
/usr/lib/jvm/java-7-oracle

私の JAVA_HOME は .bashrc で定義されており、それがソースとして設定されていることを再確認しました。

実行すると、java -versionJAVA_HOME が正しく設定され、PATH 上にあることも確認されます。

# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

/usr/bin/javaまた、シンボリックリンク/etc/alternatives/javaが正しくシンボリックリンクされているかどうかも確認しました。/usr/lib/jvm/java-7-oracle/jre/bin/java

.bash_profileさらに、またはに重複した JAVA_HOME 定義がないことも確認しました/etc/profile

私の質問は、Gradle が をどのように/なぜ見つけるのか/usr/lib/jvm/default-java、そしてもっと重要なのは、どうすれば正しいディレクトリを指定できるのかということです。

JDK を必要とする他のプログラムは正常に動作するため、これは Gradle の問題だと思います。Gradle の再インストールも試みましたが、違いはありませんでした。

私は64ビットのXubuntu(Ubuntu 13.10ベース)を実行しています

ベストアンサー1

Ubuntu 13.10リポジトリからダウンロードした特定のGradleバイナリが自体JAVA_HOMEをエクスポートしようとします。ルーカスこれを提案していただきありがとうございます。

/usr/bin/gradle70行目:

export JAVA_HOME=/usr/lib/jvm/default-java

この行をコメントアウトすると問題は解決し、Gradle は Java バイナリへの正しいパスを見つけます。

バイナリをダウンロードするだけでWebサイトこの問題は発生していません。これは Ubuntu リポジトリのバージョンの問題です。13.10 バージョンには他にもいくつか問題があるようです。

おすすめ記事