Wenn Sie JDK6 unter macOS Sierra oder OS X El Capitan unter Verwendung von Java für OS X installiert haben, war es ziemlich schwierig, es sauber zu entfernen. Notieren Sie sich dies.
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12
BuildVersion: 16A323
Die Frage "Was ist los?" Ist, dass Sie die symbolischen Links, die bei der Installation von Java für OS X erstellt wurden, nicht ändern können (ln -fs
, unlink
, rm
).
Der fragliche symbolische Link ist unten.
$ ls -al /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
lrwxr-xr-x 1 root wheel 59 1 27 01:03 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK -> /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
Dies verschwindet nicht leicht. Der Befehl ln
scheint zu bestehen und ändert sich nicht, und die Befehle unlink
und rm
geben die Berechtigung verweigert zurück.
Nach der Untersuchung scheint die Ursache darin zu liegen, dass der Schutz durch die implementierte SIP-Funktion (System Integrity Protecton) nach "OS X El Capitan" funktioniert hat.
Es gab Leute, die Probleme mit dem gleichen Austausch hatten, also war es sehr hilfreich. => [unnötige Dateien in der Systembibliothek für Mac-OS-X löschen](http://apple.stackexchange.com/questions/214538/delete-unnecessary-files-in-system-library- for-mac-os-x)
Sobald Sie dies wissen, ist es nicht so schwierig, später damit umzugehen. Folgen Sie den unteren Schritten.
⌘
+ r
gedrückt./ System / Library / Frameworks / JavaVM.framework / Versions / CurrentJDK
hinzu.das ist alles. Nach allen Vorgängen wird empfohlen, das Dienstprogramm macOS erneut zu starten und "csrutil enable" auszuführen, um SIP für alle Fälle zu aktivieren.
Lassen Sie es uns mit Homebrew installieren. Sie können JDK6 mit dem folgenden Befehl installieren.
Selbst mit dieser Methode kann jedoch "/ System / Library / Frameworks / JavaVM.framework / Versions / CurrentJDK" überschrieben werden. Daher ist es möglicherweise besser, sich darauf vorzubereiten, den Pfad der symbolischen Verknüpfung zu überprüfen und zu ersetzen. nicht.
$ brew cask install java6
$ ls /Library/Java/JavaVirtualMachines/
1.6.0.jdk/ jdk1.7.0_79.jdk/ jdk1.8.0_121.jdk/ jdk1.8.0_91.jdk/
$ ls -al /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
8 lrwxr-xr-x 1 root wheel 59 2 4 20:11 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK -> /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
$ sudo unlink \
> /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
$ sudo ln -s \
> /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents \
> /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
Recommended Posts