Czy można zamienić aplikację Java w autonomiczny pakiet, który działa „po wyjęciu z pudełka”? Użytkownik końcowy nie powinien być zobowiązany do instalowania środowiska JRE Java ani instalatora nie może zawierać środowiska JRE i instalować go dla użytkownika.
Ostateczna dystrybucja powinna zawierać natywny plik wykonywalny (mam nadzieję, że jeden dla każdego z systemów Windows, Mac i Linux) wraz ze zwykłymi plikami danych i wszelkimi dodatkowymi plikami JAR w razie potrzeby. Nie szukam rozwiązania „jednego pliku” - właściwie chciałbym, aby pliki danych były nieobsługiwane.
Jak można to zrobić?
źródło
W przypadku komputerów Mac zobacz dokumentację Oracle dotyczącą pakowania aplikacji Java na komputery Mac . Skonfigurowali Javę 7, aby można było spakować środowisko wykonawcze w pakiet aplikacji zawierający pliki jar (.app to tak naprawdę plik wykonywalny), który jest wymagany do dystrybucji w Mac App Store. Zasadniczo pakiet .app działa w większości tak samo, jak sugeruje odpowiedź JAVA_HOME Erena, ale jest spakowany jako „natywna” aplikacja na komputery Mac.
W przypadku dystrybucji bez Mac App Store możesz uniknąć podpisywania aplikacji, informując użytkowników Mountain Lion, że mogą ominąć Gatekeeper , klikając prawym przyciskiem myszy (lub przytrzymując klawisz Ctrl + kliknięcie) aplikację i klikając „Otwórz”, gdy najpierw otwórz aplikację. Nadal ostrzeże ich to, że aplikacja nie jest podpisana, ale i tak pozwoli im ją otworzyć, a następnie pozwoli dwukrotnie kliknąć aplikację, aby otworzyć ją później.
(uwaga dodatkowa: możesz także uciec od oznaczania skryptów powłoki w stylu Linux jako wykonywalnych, a następnie zbudować wokół nich pakiet .app. NetBeans robi to na komputerach Mac i Linux, ale bez dołączonego JRE / JDK)
źródło