私のパスにJavaサービスがクラッシュするいくつかの問題があります。コンポーネントが正しい位置にあるようです。
$ which java
/usr/bin/java
$ which javac
/usr/bin/javac
ただし、バージョンクエリは機能しなくなりました。
$ java --version
Unable to locate an executable at "/usr/bin/javac/bin/java" (-1)
$ javac --version
Unable to locate an executable at "/usr/bin/javac/bin/javac" (-1)
これはMacPortsとSpackをインストールするのに忙しい一日を過ごした後の様子です。
この問題をどのように解決しますか?
システムメッセージ:
$ uname -a
Darwin ****.***.*** 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64
ルート設定は次のとおりです。
$ echo $PATH
/Users/*******/****/spack/:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/TeX/texbin
答え1
これは問題にならないようですPATH
。java
ユーティリティを呼び出しているのです。問題は、フロントエンドjava
実行可能ファイルがJavaインストールの残りの部分を見つけることができないことです。JAVA_HOME
環境変数のためだと思います。スタックオーバーフローに関するこの投稿確認してください。出力を確認してください
env | grep '^JAVA'
設定されている場合とというサブディレクトリを含むディレクトリJAVA_HOME
に設定する必要があります。実行可能ファイルが必要です。通常、最後のディレクトリ部分には部分文字列が含まれます。bin
jre
$JAVA_HOME/bin/java
JAVA_HOME
jdk
環境変数が設定されている場所を確認して修正してくださいJAVA_HOME
。これは/.bash_profileまたは私が知らないいくつかのMacPortsまたはsppackファイル/etc/profile
にあります(参照)。~/.profile
OS Xで環境変数を設定するには?)。