Jestem odpowiedzialny za aplikację Java, która jest wdrażana na wielu platformach, w tym OS X. W najnowszych wersjach aplikacji rozprowadzamy dwa osobne pakiety dla systemu OS X - taki, który korzysta z JavaApplicationStub dostarczonego przez firmę Apple, oraz inny, który zawiera pakiet JDK 7 i używa wyrzutni wyprodukowanej w domu (modyfikacja JavaAppLaunchera firmy Oracle).W jaki sposób system Mac OS X określa, że aplikacja potrzebuje języka Java?
Problem polega na tym, że w przypadku tego ostatniego pakietu system Mac OS X nadal nalega na zainstalowanie środowiska Java 6 podczas próby uruchomienia aplikacji. W szczególności komunikat mówi:
"Aby otworzyć (aplikację), potrzebujesz środowiska wykonawczego Java SE 6. Czy chcesz teraz zainstalować?"
Jeśli nie zainstalujesz Java SE 6, nie będziesz w stanie uruchomić aplikacji, mimo że pakiet JDK 7 jest dołączony (i jeśli instalujesz Java 6, to jednak działa z dołączoną Javą 7).
Co staram się wymyślić, jak OS X decyduje, że aplikacja wymaga Java? Próbowałem zmienianie nazwy słownika "Java" w pliku Info.plist i zmianę nazwy podfolderu Java w folderze Zasoby, bez powodzenia. Czy ktoś ma jakieś pomysły? Z pewnością możliwe jest posiadanie aplikacji z pakietem JDK bez konieczności instalacji JDK systemowego?
czy [this] (http://stackoverflow.com/questions/14806709/application-is-using-java-6-from-apple-instead-of-java-7-from-oracle-on-mac- os-x) pomoc w jakikolwiek sposób? – Gamb
* "inny, który zawiera pakiet JDK 7" * DYM JRE 7? –
Gamb, nie. Nie używamy JavaAppLauncher od Apple. Problem nie polega na tym, że działa z niewłaściwym JDK, ale nalega na zainstalowanie Java 6. – davmac