Java od Oracle i problem uruchamiania aplikacji
Jakiś czas temu pisałem, jak zainstalować Javę od firmy Oracle, żeby była ogólnie używana przez system. Dziś chciałbym Wam pokazać, jak poradzić sobie z niedziałającymi z taką Javą aplikacjami.
Zacznijmy od tego, że problem dotyczy Javy w wersji 7 i 8. Sam spotkałem się z nim dwukrotnie i za każdym razem problem przedstawiał się identycznie – przy próbie uruchomienia aplikacji opartej na Javie nic się nie działo, nie było nawet żadnego komunikatu o błędzie. Tak było oczywiście z punktu widzenia zwykłego użytkownika. Próbując uruchomić tę samą aplikację przy pomocy Terminala udało zdobyć się więcej informacji. Wszystko rozchodzi się o poniższy błąd:
JavaVM: Failed to load JVM: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bundle/Libraries/libserver.dylib
Gdzie w miejscu jdk1.8.0_05.jdk
znajdować się będzie zainstalowana przez nas wersja Javy. Brakuje po prostu biblioteki libserver.dylib
. Okazuje się jednak, że tak naprawdę on istnieje, ale znajduje się gdzie indziej i pod inną nazwą. Wystarczy więc troszkę terminalowej „magii”, żeby zaradzić na problem:
sudo mkdir -p /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bundle/Libraries
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bundle/Libraries/libserver.dylib
I ponownie należy pamiętać, że zamiast jdk1.8.0_05.jdk
musimy podać wersję Javy, którą my aktualnie mamy zainstalowaną.
Powyższy problem nie występuje z Javą 6, która była dostarczana bezpośrednio od Apple. Nietrudno jednak zauważyć, że jest ona daleko w tyle, a co za tym idzie – na pewno mniej bezpieczna od nowszych wersji. Jeśli więc korzystacie z aplikacji wymagających instalacji Javy, to warto zainwestować w najnowsze rozwiązania, choćby wymagało to spędzenia chwilę dłużej przy jej konfigurowaniu.
Źródło: github.com