Jak utworzyć instalator systemu Windows dla pliku jar java?
Chcę utworzyć instalator systemu Windows dla mojego pliku jar. Nie chcę instalować jre / jdk na komputerze docelowym, na którym chcę wdrożyć.
Wypróbowałem jpackage (część Java 14) i nie zadziałało. Wypróbowałem następujące polecenie:
jpackage --input target/ --name my_pkg --main-jar NtbnsProj.jar --main-class myJFrame --type exe --java-options '--enable-preview'
Generuje plik my_pkg-1.0.exe, ale nie mogę go uruchomić.
W tym momencie jestem gotów wypróbować nawet narzędzia innych firm. Próbowałem install4j bez powodzenia. Inna witryna, którą znalazłem, mówi, że używa install4j z Inno Setup Compiler. To było bardziej skomplikowane i też nie działało. Pomyślałem, że może WiX Toolset może działać.
Gdyby ktoś mógł podać instrukcje krok po kroku, zwłaszcza jeśli rozwiązanie obejmuje install4j, ponieważ istnieje wiele różnych kroków, w których można coś przeoczyć. Używałem nowszej wersji install4j i nie pasowała ona do samouczków i filmów online. Opcje menu uległy znacznej zmianie. Być może muszę użyć starszej wersji install4j.
Zobacz mój powiązany artykuł: Jak spakować plik jar java, aby działał na komputerze Mac bez zainstalowanego środowiska JRE?
Odpowiedzi
Dokładnie sprawdź, czy Twoja aplikacja działa bezpośrednio, a następnie napraw wszelkie problemy, zanim przejdziesz dalej:
java -cp NtbnsProj.jar myJFrame
Wygląda na to, że jpackagezadziałał i wygenerował instalator my_pkg-1.0.exe. Po uruchomieniu my_pkg-1.0.exesprawdź, czy masz ten plik, a następnie uruchom go:
C:\Program Files\my_pkg\my_pkg.exe
Jeśli to się nie powiedzie, uruchom ponownie pakiet jpackage z dodatkowymi argumentami --win-console --app-version 1.1, zostanie to wygenerowane my_pkg-1.1.exez włączoną konsolą. Ponowna instalacja i uruchomienie C:\Program Files\my_pkg\my_pkg.exemoże zgłosić przydatny komunikat o błędzie wskazujący, jaki jest Twój prawdziwy problem.
Jeśli nie zaktualizujesz za --app-versionkażdym razem, system Windows NIE zaktualizuje istniejącej wersji 1.0 lub musisz odinstalować instalację przed ponownym zainstalowaniem tej samej wersji my_pkg-1.0.exe. Po prostu działa i zatrzymuje się bez ostrzeżenia.
Zobacz ten post o tym, jak automatycznie ustawić wersję aplikacji.
Mam to do pracy! @DuncG był bardzo pomocny w odpowiedzi na moje pytanie. Miałem kilka dodatkowych plików w katalogu, w którym znajdował się plik jar, więc właśnie utworzyłem nowy katalog i umieściłem w nim tylko plik NtbnsProj.jar. Następnie uruchomiłem następujące polecenie:jpackage --name Test --input . --main-jar NtbnsProj.jar