Mastodon
Zdjęcie okładkowe wpisu Java od Oracle i problem uruchamiania aplikacji

Java od Oracle i problem uruchamiania aplikacji

20
Dodane: 10 lat temu

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

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 20

A czy poprawna instalacja Javy to nie jest sprawa, która należy do Oracle?

oczywiście tak jak dziurawe TB, przegrzewająca się grafika od AMD/nVidia. Apple niczemu nie jest winne – w końcu oni nic ne wytwarzają… nie zaraz wróć.. system. Tak TYLKO system jest ich.

Taaaa

W tym przypadku jednak będę obstawał przy Apple. Soft ma być tworzony zgodnie z zasadami narzuconymi przez system operacyjny. Powinna wyjść aktualizacja Javy, która poprawia to skoro to taki drobiazg. Tym bardziej, że Java jest bezustannie poprawiana, łatana. Ale soft Oracle nigdy jakoś zbytnio się nie przejmował wytycznymi jakiegokolwiek systemu operacyjnego.

Java 6… :) Daj spokój. Czemu nie 5 albo 4?

Cwaniaczki woleli zostać przy wersji Java 6 tzw. “nie wymagającej” zbyt wielu poprawek. Bo nic nowego nie oferującej.
Apple jest znane z pozostawania przy starych wersjach, dziurawych wersjach.

O rety, nie chodzi mi o to która wersja Javy co potrafi. Zupełnie nie zakumałeś o co mi chodziło. Chciałem powiedzieć, że jak się chce to można przygotować paczkę instalacyjną/instaler poprawnie. I przykładem na to jest Java6 od Apple.

O to to.
Tylko że Java 6 to maluch a Java 8 to Toyota – coś walnie – napraw jedno albo drugie.

Apple woli wciskać stary dziurawy kapeć, niżeli dostosować się do nowych standardów. Java to nie Flash. W sumie jak Flash był tak dalej jest w sieci.

Apple wciska Javę? :) Przecież Apple nienawidzi Javy i najchętnie wygoniłby ją ze swoich sprzętów tak jak wygonił Flasha z urządzeń mobilnych. Na wersji 6 Javy Apple stwierdziło, że poziom bezpieczeństwa Javy jest zbyt mały żeby ją oficjalnie wspierać i za nią odpowiadać. Dopóki Oracle czegoś z tym nie zrobi to oni nowych wersji nie będą popierać. Jak ktoś potrzebuje Javy 7/8 to niech sobie na własną odpowiedzialność ściąga ze strony Oracle i używa. Ale w razie problemów to już nie będzie sprawa Apple. Oni ostrzegali. :)

A jeżeli chodzi o Flasha dla URZĄDZEŃ MOBILNYCH to po całej tej applowej wojnie z nim, PRZESTAŁ BYĆ ROZWIJANY przez producenta (Apple). To chyba ewidentna wygrana. Przecież wojna toczyła się o Flasha dla iPhone/iPod/iPad. A generalnie znaczenie Flasha nawet desktopowego tak spadło, że dzisiaj jest masa ludzi, którzy go nawet nie instalują. Jeszcze niedawno to było nie do pomyślenia.

Płyty gramofonowe i kasety VHS też istnieją i istnieć będą. :)

Właśnie, nie nawiedzi temu pozostało przy 6. Może to i dobrze. Patrząc na ich changelogi w wersji OSX i łatanie od 10.9 klienta pocztowego… a WiFi od kiedy się ciągnie?
Obecnie ta firma to softwarowe partacze.

“Na wersji 6 Javy Apple stwierdziło, że poziom bezpieczeństwa Javy jest
zbyt mały żeby ją oficjalnie wspierać i za nią odpowiadać.”

Starasz się być zabawny?

OSX jest bez Javy dziurawy jak szwajcarski ser. Nie potrzeba nawet softu aby przejąć kontrolą skoro hardware jest walnięty.

Internet… Tu zawsze dyskusja schodzi z tematu. A ja chciałem tylko powiedzieć, że Oracle z 7 i 8 musiało źle lrzygotować paczkę instalacyjną albo installer. Biblioteka instaluje się w jednym katalogu, a Java szuka jej w innym.

Z tym bezpieczeństwem Javy to nie jest moja opinia. Tłumaczyłem tylko jak Apple tłumaczyło się z faktu, że nie dystrybuuje Javy nowszej niż 6 i zostawia to producentowi (Oracle). Ja akurat mam serdecznie w nosie Javę, bo nie lubię takich nienatywnych rozwiązań, warstw pośrednich między aplikacją, a systemem operacyjnym.

Nie mówię że zawsze winne jest Apple. I że Java jest w 100% sprawna.

Przyłączyłem się jedynie do dyskusji jak to Apple aktualizuje soft pod pretekstem bezpieczeństwa (właśnie, którego i tak u nich nie ma) oraz braku kompetencji.

Nie od dziś wiemy że Apple niczemu nie jest winne.
To owce źle trzymają telefony a z applowskiego amelinium schodzi farba.
nMP też działają jak trzeba to użytkownicy za bardzo je nadwyrezaja.

Generalizujesz jak w onetowych komentarzach, a tu jest konkretny przykład na to, że ktoś się pierdzielnął w instalerze.

Jak ja generalizuje to ty bagatelizujesz wpadki Apple.

Apple ostatnio zalicza straszne ilości wpadek. To jest wręcz trudne do uwierzenia, że najbogatsza firma ma tak dramatycznie słaby dział testów. Czasem nie działają wręcz podstawowe funkcje (głównie w iOS), które działały bezproblemowo przez lata.
Jednak w tym przypadku została źle przygotowana paczka z instalką Javy. I akurat Javę 7 i 8 przygotowuje Oracle. Apple akceptował ją do wersji 6.

Sorry, że nie w temacie, ale na którym serwisie bym nie zobaczył tego nicka i avatara to już wiem, że będzie sranie żarem na Apple. Ok, robią błedy, łapia wpadki. Kij z tym czy coraz częściej, ale stary, powiem Ci, że musisz mieć ciężkie życie, z takim ciągłym narzekaniem i marudzeniem. No cóż, pozdrawiam i życzę Ci, abyś w nowym roku dostrzegał troszkę więcej dobrych stron, albo chociaż nie narzekał tyle na forum publicznym;)

Zarzucasz mi więc konsekwencję i brak dwulicowości. Dziękuję za komplement.

A jeżeli chodzi o ten problem to ewidentnie widać, że Oracle skopało paczkę z Javą. Umieszcza bibliotekę w jednym katalogu, a probuję ją odczytać z innego.

Gdyby sprawa dotyczyła Javy dla Windows to nikt by się nie doszukiwał błędu w Windzie tylko w Javie. No ale pod OSX wszystko musi być idealnie, a jak nie jest to jest wina Apple. A prawdę mówiac to Apple akurat zablokował Javę za jej poziom bezpieczeństwa (dlatego 7 i 8 są już ściągane ze strony Oracle). Java 6 dystrybuowana przez Apple nie ma tego problemu.

Jak bardzo trzeba być zgorzknialym żeby wszędzie widzieć błędy Apple zamiast obiektywnie ocenić problem.

Gdybyś np. śledzil mnie na Twitterze to widziałbyś, że czasem jednak wieszam psy na Apple. Przez caly okres “panowanie” iOS 8.0.x nie było dnia żebym nie pluł jadem za błedy tej wersji. Odżyłem jak wyszedł 8.1. Chociaż jedno zastrzeżenie też ciągle mam. :) O dziale testów w Apple też często wypowiadam się bardzo negatywnie. Sięgnęli dna i uważam to za skandal.

Tyle, że ja odpisałem na komentarz kolegi o mało wdzięcznym nicku – JebaczKoz. I to do niego kierowałem moje słowa;)

Hehehe, ale pomyłka. Sorry. :) Czasem zarzucają mi fanbojstwo i jestem nieco przewrażliwiony. Od razu uznałem, że to do mnie, chociaż wyraźnie widać, że nie mi odpowiadasz. :)