6

Mac OS用のjdk7u5をインストールした後、「通常の」ユーザーとルート用に異なるJavaバージョンを取得しました。

java -version私に7を与えます。

sudo java -version私に6を与えます。

/System/Library/Frameworks/JavaVM.framework/Versions/いくつかのリンクがあることがわかりました。 実際のディレクトリへのリンクを解決した後、パス全体でもう一度試しました。

/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version -> 7

sudo /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version-> 6

javacと同じ!

皆さんが私を助けてくれることを願っています!

4

3 に答える 3

5

OSX の下では、 /usr/bin/java を使用して選択したものを見て、使用する Java バージョンを見つけます/Applications/Utilities/Java Preferences.app。これが使用するファイルも、Oracle アップデーターによって更新されます。

バージョンを手動でドラッグして Java 1.7 を設定する必要があるため、root ではなく実行するユーザーに対してのみ設定します。ルートに設定するには、アプリを実行し、sudo /Applications/Utilities/Java\ Preferences.app/Contents/MacOS/Java\ Preferences1.7 を一番上に移動しました。

私が見る限り、アプリの更新がマシンに関連する~/Library/Preferences/ByHost/com.apple.java.JavaPreferences.<hex number>.plist場所にあるファイルを見ることができます。<hex number>ルートのホーム ディレクトリは /var/root なので、/var/root/Library/Preferences/ByHost/com.apple.java.JavaPreferences.<hex number>.plist

于 2012-07-05T13:34:20.870 に答える
0

Mac OS X 10.7.5 + JRE 1.6.0_43 +JDK1.7.0_17で同じ問題が発生しました。

  • java -version => 1.7
  • sudo java -version => 1.6

sudoでJavaコントロールパネルを開くと、問題が修正されます。

  • sudo / usr / bin / javaws -viewer
于 2013-03-21T21:02:05.870 に答える
-1

指定したリンクで使用されている Java のバージョンは、JAVA_VERSION環境変数に依存しているようです。この変数がユーザー用に設定されている可能性がありますが、によってクリアされsudoますか? その場合、明示的にユーザーの設定を解除するか、root に設定すると、同期を維持するのに役立ちます。もちろん、/A/実行したい実際のバージョンに置き換えることもできます。

于 2012-07-05T13:09:53.953 に答える