GNU/Linux >> Linux の 問題 >  >> Linux

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

Ubuntu 13.10 リポジトリからダウンロードした特定の Gradle バイナリが それ自体 JAVA_HOME をエクスポートしようとします。これを提案してくれた Lucas に感謝します。

/usr/bin/gradle 70行目:

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

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

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


シンボリックリンクを追加

sudo ln -s /usr/lib/jvm/java-7-oracle /usr/lib/jvm/default-java

解決策は、JAVA_HOME ==dir を、javac が

のように存在する bin の上に作成することです。
type javac

javac is /usr/bin/javac   # now check if its just a symlink

ls -la /usr/bin/javac 

/usr/bin/javac -> /etc/alternatives/javac   # its a symlink so check again

ls -la /etc/alternatives/javac  # now check if its just a symlink

/etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac

OK、ようやく実際のjavacの上のビンが見つかったので、これを行います

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

上記は簡略化して一般化できます

which javac >/dev/null 2>&1 || die "ERROR: no 'javac' command could be found in your PATH"
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac)  )))

Linux
  1. Linux、グループ権限があるのに書き込めないのはなぜですか?

  2. Tomcat 7:初期ヒープサイズを正しく設定するには?

  3. UbuntuでJAVA_HOMEパスを設定するには?

  1. JAVA_HOME を見つけて RHEL に設定します

  2. JAVA_HOME が設定されていますが、JAVA がパスにありません

  3. リロード中にnginx構成ファイルを設定しても、Nginxはデフォルトのエラーログファイルを開こうとします

  1. パスをパスに正しく追加する方法は?

  2. シンボルが存在するにもかかわらず、dlsym が NULL を返す

  3. .bashrc で環境変数を設定する最良の方法は何ですか?