A jpackage parancsnak szükséges lehet kész .jar fájl.
jar \ --create \ --main-class App \ --file mutat.jar \ -C bin .
Ugyanaz rövidített kapcsolókkal:
jar -c -e App -f mutat.jar -C bin .
Kapcsolók:
jpackage \ --type app-image \ --input input \ --dest output \ --name App01 \ --main-jar App01-0.1.jar \ --main-class lan.zold.app01.App \ --icon app01.ico
Típusnak megadható:
Készítsünk egy Java alkalmazást például VSCode segítségével, mutat néven.
Ha minden elkészült a következő könyvtár szerkezetet kapjuk.
mutat/ |-.vscode/ | `-settings.json |-bin/ | `-App.class |-lib/ |-output/ | `-mutat_1.0-1_amd64.deb |-src/ | `-App.java |-gen_jar.sh |-gen_package.sh |-mutat.jar `-README.md
public class App { public static void main(String[] args) throws Exception { System.out.println("Lássuk"); } }
Egy futtatással elkészül a bin könyvtár benne az App.class.
Készítsük el a mutat.jar fájlt:
jar \ --create \ --main-class App \ --file mutat.jar \ -C bin .
Készítsük el az output/mutat_1.0-1_amd64.deb csomagot:
jpackage \ --type deb \ --input . \ --dest output \ --name mutat \ --main-jar mutat.jar \ --main-class App
Linuxon a mutat alkalmazás a következő helyre telepszik:
/opt/mutat
Futtassuk:
/opt/mutat/bin/mutat
A Java 17 verzióval ehhez hasonló hibát kapunk, ha /opt/mutat/bin/mutat-t futatjuk:
$ /opt/mutat/bin/mutat pure virtual method called terminate called without an active exception Lássuk
Windowson útvonalba kell tenni a Java bin könyvtárát. Legyen például:
Ellenőrzés:
jpackage --version
@echo off jar cfm mutat.jar manifest.mf -C bin/ . pause
@echo off jpackage --type app-image --input . --dest output --name mutat --main-jar mutat.jar --main-class App pause
Létrejön az output/mutat könyvtár, benne mutat.exe és más fájlok.