MAC OS X 10.11(El Capitan)でJavaアプリケーションを実行しようとしています。
このリンク を使用して、MAC OS X 10.11でJava_HOMEを設定しました。
次のコマンドを実行できます。
Javaバージョン
どのJava
ただし、MACのターミナルアプリに移動してecho $ Java_HOMEと入力しても、何も表示されません。何故ですか?それは私のJava_HOMEが正しく設定されていないということですか?
OK、まず第一に、Java_HOME
を設定するためにwhereを明確にする必要があります。
簡略化すると、~/.bashrc
または~/bash_profile
の2つのファイルで定義できます。 デフォルトによって、前者は「対話型の非ログインシェル」と呼ばれるものに対して実行され、後者は「ログインシェル」に対して使用されます。 「ログインシェル」はまさにあなたが期待するものです。コマンドライン経由でログイン後に起動されるシェルです。 「対話型の非ログインシェル」は、たとえばGUI内から起動されるシェルです。したがって、それに従って、exportステートメントを~/.bashrc
に入れる必要があります。
サイドノート:OS Xの「ターミナル」アプリケーションは上記の両方のファイルを読み取りますが、これはデフォルトの動作ではないため、そのように扱われるべきではありません。そして、それが私が説明を書いた理由です。
シェルが開かれるたびに変数が設定されるように、~/.bashrc
ファイルのJava_HOMEをエクスポートする必要があります。
OS Xでは、Java開発キットとランタイム環境はかなり長い間/Library/Java/JavaVirtualMachines/
の下に保存されています。
/Library/Java/JavaVirtualMachines/
├── jdk1.7.0_45.jdk
├── jdk1.8.0_20.jdk
├── jdk1.8.0_25.jdk
└── jdk1.8.0_51.jdk
サブフォルダーは次のようになります
jdk1.7.0_45.jdk/
└── Contents
├── Home
├── Info.plist
└── MacOS
そして、私たちはそれを得ました。したがって、JDK 1.7.0_45を指す場合は、次のステートメントを.bashrc
に入れます。
export Java_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home"
そのJavaバージョンの正しいバイナリが呼び出されることを確認するには、上記のステートメントの後に次を追加する必要があります。
export PATH=$Java_HOME/bin:$PATH
export Java_HOME=$(/usr/libexec/Java_home -v 1.8)
Java 8 ....元のリンクはここにあります Installing Java Mac OS X 10.10 Yosemite and 10.11 Elキャピタン
しかし、受け入れられた答えも機能します。更新後にパスの変更に注意するだけです。
OSXでJava_HOMEを設定する方法に関する多くの回答がありますが、Java_HOMEの設定が必要な場合、質問への回答を見つけるのは困難です。
なぜですか?Java_HOMEが正しく設定されていないということですか?
OSXでは、Java_HOME環境変数の設定はオプションです。 JREおよびJDKインストーラーは、Java_HOMEの設定を提供しません。したがって、Java_HOMEが設定されていなくても問題ありません。
何らかの理由でjdk 1.6を使用したい場合、Appleはサポートを停止しました。MacOSの更新後に削除されます。このページからjdk 1.6を入手できます。 https://support.Apple.com/kb/DL1572?locale=zh_CN
Jdk 1.6を再度インストールした後、〜/ .bash_profileなどのシステム変数$ Java_HOMEの正しいディレクトリをエクスポートすることを忘れないでください。私にとっては、「/ Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home」です。 。