394

オラクルのWebサイトからダウンロードしたJDK 7u7をインストールしました。しかし、インストール後、端末にはまだJavaバージョン6が表示されています

$java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

なぜJava 7が表示されないのですか?

回答: OK、問題は解決しました。答えは次のとおりです。ターミナルに .bash_profile があり、Java ホーム変数が 1.6 に設定されていることがわかりました。

export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home"

したがって、これは、新しいターミナル ウィンドウを開くたびに問題を引き起こす行です。この行を削除するだけで問題は解決します。@aleroot の指示に従う必要がありますが、それでもうまくいかない場合は、.bash_profile (または .bashrc) 設定ファイルをチェックして、以前に Java バージョンをエクスポートしたことがあるかどうかを確認してください。

4

27 に答える 27

105

vi ~/.bash_profile

追加

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

これは、/usr/bin/javaリンク ターゲットに、インストールされている最新の Java 7 パッケージを使用するように指示します。

/Library/Java/JavaVirtualMachines/

したがって、JDKの場合は次の1.7.0_17 JAVA_HOMEようになります。

/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home

注: 最近、Mac OS X を Appels 独自のシステム統合 Java パッケージから Oracle ベースの Java パッケージに移行するために、この分野で多くの変更がありました。上記のソリューションは、Mac OS X 10.8.2 の時点で正常に機能しています。

于 2013-03-09T02:44:50.887 に答える
64

Java Preferences ペインに入力し、この方法で JVM 7 のみにフラグを付ける必要があるため:

Java 設定

Mac OS X でJava 設定ペインを簡単かつ迅速に開くには、次のコマンドで spotlight を呼び出すだけです。⌘</kbd>+SPACE and type System Preferences it will show up in the last row of the window.

于 2012-10-06T07:03:20.470 に答える
56

私の場合、問題は、Oracle が以前とは異なる場所にインストールしていたことでした。

Oracle からダウンロード: http://java.com/en/download/mac_download.jsp?locale=en

  1. システム設定を調べて、正しくインストールされていることを確認します。

    • Command-Space を押して Spotlight を開き、「System Preferences」と入力して Enter キーを押します。
    • 一番下の行にある Java アイコンをクリックします。Java コントロール パネルが開いたら、[Java] タブ、[表示...] の順にクリックし、インストールが機能していることを確認します。そこにも「パス」が表示されます。これは、私のものとは異なる場合に備えて、以下のコマンドにサブできます。
  2. バージョンが期待どおりであることを確認します (必要に応じてパスにサブを追加します)。

    /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version

  3. /usr/bin/java から新しいインストールへのリンクを作成します

    sudo ln -fs /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

  4. バージョンのサニティチェック:

    Java -バージョン

于 2013-07-22T19:58:34.103 に答える
36

Macにインストールされているバージョンと一致するように端末がJavaバージョンを更新しないという同様の問題に遭遇しました。

JAVA_HOME 環境変数が設定されていることに問題はありませんでした

私は、一時的でやや痛みを伴うが有効な解決策を思いつきました。

.bash_profile に次の行を追加します。

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home"

(これは私のマシンのパスですが、あなたのマシンでは異なる場合があります。必ず自分のパスを取得してください。パスは /Library/Java/JavaVirtualMachines/ まで一致する必要があります)

実行source ~/.bash_profile

前述したように、Java ホーム パスがハードコーディングされているため、これは一時的な応急処置です。最新のものを取得するためのパスを設定する方法は実際にはありません。これは、Apple が端末に対して既に行っていると思われるものであり、問​​題は Apple の java_home 環境変数が更新されていないことです。

于 2013-02-12T20:04:09.157 に答える
21

アップデート

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8

https://stackoverflow.com/a/28635465

古いバージョン 私にとって最も簡単でクリーンな方法は、ここで説明されているように、homebrew を使用して Java をインストールすることです。

https://stackoverflow.com/a/28635465

brew update
brew cask install java
于 2016-12-15T11:20:46.860 に答える
7

ツールJenvをご覧になることをお勧めします

これにより、インストール済みの JVM をいつでも切り替えることができます。

単に次のように:

jenv global oracle-1.7

その後、テスト目的で:

jenv global oracle-1.6

さらに多くのコマンドを使用できます。

于 2013-02-13T15:41:10.853 に答える
7

http://www.java.com/en/download/faq/java_mac.xmlは、Apple が Java のサポートを停止している間、なぜ Java プリファレンスがもう存在せず、System_Preferences => Java = に依存しているのかを理解するのに適した場所です。 > Oracle の Java 7 がインストールされている場合は Java。

于 2012-10-26T15:58:45.020 に答える
6

JAVA_HOME パスをハードコーディングすることは、最善の方法ではない可能性があります。この/usr/libexec/java_homeユーティリティは、Mac OSX Lion 10.7.5 および JDK 1.7.0_13 で動作します。そのマニュアル ページによると、これは Apple の古い Java 設定ペインで使用することを意図していますが、Oracle が提供する代替 (Java コントロール パネル) で動作しているようです。たとえば、実行/usr/libexec/java_home -Vすると、マシンにインストールされているすべての JDK (1.6.* と 1.7.* の両方) が一覧表示されます。

そのため、他のスレッド (例: What should I set JAVA_HOME to on OSX ) で説明されているように、次の行を .bash_profile に追加することをお勧めします。

export JAVA_HOME=$(/usr/libexec/java_home)
于 2013-02-13T08:13:13.660 に答える
5

シンプルなソリューション

export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin:$PATH"
于 2017-05-03T00:14:06.867 に答える
3

jreではなくjdkをインストールしようとすることができると思います。jdk をインストールすると、/usr/bin/java の java が置き換えられ、すべてのライブラリが正常に動作します。

于 2015-07-05T04:34:05.653 に答える
3

Homebrew がインストールされている場合は、java-switcherをインストールして、Java のデフォルト バージョンをより迅速に変更できます。

brew tap andycillin/tap
brew install java-switcher

その後、1 つのコマンドだけを使用して、デフォルトの Java バージョンを切り替えることができます。

java-switcher 1.7

また

java-switcher 10
于 2019-05-09T14:34:49.353 に答える
1

次のコマンドを実行して、/Library/Internet Plugins/ にある Java のバージョンを確認できます。

defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion
于 2016-03-29T14:59:57.677 に答える
0

Yosemite を再インストールしてから、ターミナル (java -version) と (javac -version) で Java バージョンをクロスチェックすることでこの問題を解決しました。現在は完全に動作します。(command + n ) libray>java>javavirtualmachine>your javac current version.java ホームにアドレス指定する必要があります。

于 2015-05-14T22:49:00.670 に答える
0

私はこの問題に直面していないので、私は予感しています -

これを試してみてください:

ソフトリンク「java_home」はどこを指していますか:

ls -lrt /usr/libexec/java_home

出力: (スタント) lrwxr-xr-x java_home -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home

**ls -lrt /System/Library/Frameworks/JavaVM.framework/Versions My MAC 以下を生成します:

 lrwxr-xr-x CurrentJDK ->
 /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents**

 lrwxr-xr-x   Current -> A
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.6 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5.0 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.5 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4.2 -> CurrentJDK
 lrwxr-xr-x  1 root  wheel   10 Oct 18 14:39 1.4 -> CurrentJDK

これに基づいて、先に進むためのヒントが得られるかもしれません。

于 2013-02-13T14:57:51.380 に答える