MacのJavaアップデーターは、これまで聞いたことのないJava10.0.1のあいまいなバージョンをインストールしました。その結果、すべてのJavaアプリが実行されなくなり、Javaが無意味になります。
Javaを削除するための公式の手順は次のとおりです。
- sudo rm -fr / Library / Internet \ Plug-Ins / JavaAppletPlugin.plugin
ブラウザでJavaを使用していません(誰がそれを行うのに夢中ですか?)
- sudo rm -fr / Library / PreferencePanes / JavaControlPanel.prefPane
設定ペインを削除するだけなので役に立たない
- sudo rm -fr〜 / Library / Application \ Support / Java
これは役に立たないこのディレクトリはすでに空です
MacでJavaを削除する公式の手順はまったく何もしません。
Javaアプリを実行した場合ターミナルからjava-jarを使用すると、動作します。ターミナルからは、次のように表示されます。
つまり、ターミナルからのJavaバージョンは1.8.0_131で、これが私の希望するバージョンです。デスクトップから、JavaAppLauncherを使用してアプリを起動すると、Javaのバージョンは10.0.1になります。
Oracleが自動アップデーターを使用して行ったこの災害を元に戻すにはどうすればよいですか?
回答
同じ問題が発生しました。Java8をインストールしましたが、後で10をインストールしました。次に10を削除し、jarを起動したときにターミナルはバージョン8で実行され、ターミナルでjava -version
を使用してバージョンを確認すると、java version "1.8.0_181
。ただし、Finderから .jarを実行すると、v.10で実行され、Java設定ペインに移動すると、バージョンがバージョン10として表示されました。これは望ましくありませんでした。 v10を完全に削除しようとしています。
次に、rm /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
を使用してJavaAppletPluginを削除し、オンラインからJava SE JDK8を再インストールしました。今は動作します。 .jarを実行すると、Java8で実行されます。
最初のステップでこれについて言及したと思いますが、このステップを実行しなかったと思いますか?それについて間違っている場合は、 「別の問題が発生しました。しかし、これで解決しました。
コメント
- はい、とにかく無効にしたため、アプレットプラグインを削除しようとしませんでした。ブラウザで
- 完全に理解できますが、私の経験からすると、JavaAppletPluginの存在が、Finderから.jarアプリを実行するために使用されるJavaのバージョンに影響を与えているようです。私にとっては削除しましたJVM v10ですが、JavaAppletPluginを削除した場合にのみ、ファインダーは.jarアプリの実行にv10を使用しなくなりました。
回答
問題は正しいディレクトリに移動することだと思います…本来あるべき場所に着いたら、sudoコマンドを実行して、削除したいJavaのバージョンを削除できます。
最初に、ターミナルでコマンドを実行して、使用しているJavaのバージョンを判別しますe実行中、
java -version
次に、次のコマンドを使用して、削除する予定の厄介なバージョンのJavaに移動できます。
cd /Library/Java/JavaVirtualMachines
次に、JavaVirtualMachines
パスに表示されたら、ls
と入力してバージョンを確認します。インストールしたJavaの数
ls
最後に、アンインストールするJavaのバージョンがわかったら:
sudo rm -rf jdk-10.0.1.jdk #or whichever version you want to delete
コメント
- 問題は、コントロールパネルに表示されるバージョンがターミナルのJavaバージョンと一致しないことです。 java 8.171を削除したい場合は、次の方法もありません: imgur.com/a/iIK67bD
- そしてjdk10.0。 1はそのフォルダに存在しませんでした
- @Magnetic_dud lsコマンドを使用してファイルディレクトリ構造を使用してデバッグし、新しい動作中のJdkまたはインストールしているJavaバージョンを削除して再インストールできます。
- シンプルで私のために働いた。ありがとうございます!
回答
jdkのバージョンが複数ある場合:
$ ls -l /Library/Java/JavaVirtualMachines drwxr-xr-x 3 root wheel 96 30 avr 15:15 jdk-10.0.1.jdk drwxr-xr-x 3 root wheel 96 30 avr 15:24 jdk1.8.0_172.jdk drwxr-xr-x 3 root wheel 96 17 oct 10:59 jdk1.8.0_191.jdk
JAVA_HOMEを変更する
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
回答
java.comから古い(動作中の)バージョンをダウンロードしました
実際、Java 8.171がデフォルトで表示されるダウンロードです。なぜ、自動的に10.0.1に更新されたのかわかりません。ベータ品質の場合。
今はインストールされません。「申し訳ありませんが、より新しく、より優れた10.0.1Javaがあります」と表示されます。
インストールするには、質問で言及されている明らかに役に立たないコマンド。Javaは引き続きターミナルで機能しますが、インストーラーを使用すると、適切なバージョン1をインストールできます。8_171
アプリを再度壊したくない場合は、更新を無効にします。Javaはセキュリティ上の脅威であるため、毎月更新する必要があるため、ブラウザで無効になっていることを確認してください。
何らかの理由で、java -versionを実行しても、次のようになります。
java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
これは別の間違ったバージョンです。とにかく、重要なのはこれでJavaアプリが機能するようになりました。セキュリティのために、ブラウザプラグインが無効になっていることを確認してください。
回答
私の場合はコンピューターv11とv7に2つのJDKがインストールされていました。プロジェクトのためにコンピューターでEclipseLunaを実行する必要がありました。cmdjava -version
で実行すると、など。 “
私にとっての解決策は、PATH
変数を変更することでした。 Eclipseを実行するために必要なJDKを指すようにします。
基本的に、次のように変更します。
C:\Program Files\Java\jdk-11.0.2\bin
から
C:\Java\JDK7\bin
これで、java-versionの実行による出力は次のようになります。
java version "1.7.0_76"
コメント
- ご回答ありがとうございますが、これはmacOSに関する投稿でWindowsを対象とした回答のようです。