Java >> Java tutorial >  >> Tag >> package

En guide til jpackage i Java 14

1. Oversigt

I denne vejledning vil vi udforske det nye pakkeværktøj introduceret i Java 14, kaldet jpackage .

2. Introduktion

jpackage er et kommandolinjeværktøj til at oprette native installationsprogrammer og pakker til Java-applikationer.

Det er en inkubationsfunktion under jdk.incubator.jpackage modul. Med andre ord er værktøjets kommandolinjeindstillinger eller programlayout endnu ikke stabile. Når den er stabil, vil Java SE-platformen eller JDK inkludere denne funktion i en LTE-udgivelse.

3. Hvorfor jpackage?

Det er standardpraksis under distribution af software for at levere en installerbar pakke til slutbrugeren. Denne pakke er kompatibel med brugerens oprindelige platform og skjuler de interne afhængigheder og opsætningskonfigurationer. For eksempel bruger vi DMG-filer på macOS og MSI-filer på Windows.

Dette tillader distribution, installation og afinstallation af applikationerne på en måde, der er kendt for vores slutbrugere.

jpackage giver udviklere mulighed for at oprette sådan en installerbar pakke til deres JAR-filer. Brugeren behøver ikke udtrykkeligt at kopiere JAR-filen eller endda installere Java for at køre programmet. Den installerbare pakke tager sig af alt dette.

4. Emballeringsforudsætning

De vigtigste forudsætninger for at bruge jpackage kommandoen er:

  1. Det system, der bruges til at pakke, skal indeholde den applikation, der skal pakkes, et JDK og software, der kræves af pakkeværktøjet.
  2. Og den skal have de underliggende pakkeværktøjer, der bruges af jpackage :
    • RPM, DEB på Linux:På Red Hat Linux har vi brug for rpm-builden pakke; på Ubuntu Linux har vi brug for fakeroot pakke
    • PKG, DMG på macOS:Xcode kommandolinjeværktøjer er påkrævet, når –mac-tegnet mulighed bruges til at anmode om, at pakken skal signeres, og når –ikonet mulighed bruges til at tilpasse DMG-billedet
    • EXE, MSI på Windows:På Windows har vi brug for tredjepartsværktøjet WiX 3.0 eller nyere
  3. Til sidst skal applikationspakkerne bygges på målplatformen. Dette betyder, at for at pakke applikationen til flere platforme, skal vi køre pakkeværktøjet på hver platform.

5. Pakkeoprettelse

Lad os oprette en prøvepakke til en applikation JAR. Som nævnt i ovenstående afsnit skal applikationen JAR være præbygget, og den vil blive brugt som input til jpackage værktøj.

For eksempel kan vi bruge følgende kommando til at oprette en pakke:

jpackage --input target/ \
  --name JPackageDemoApp \
  --main-jar JPackageDemoApp.jar \
  --main-class com.baeldung.java14.jpackagedemoapp.JPackageDemoApp \
  --type dmg \
  --java-options '--enable-preview'

Lad os gennemgå hver af de anvendte muligheder:

  • –input :placering af input jar-filerne
  • –navn :giv et navn til den installerbare pakke
  • –main-jar :JAR-fil til at starte ved starten af ​​programmet
  • –hovedklasse :hovedklassenavn i JAR'en for at starte ved starten af ​​applikationen. Dette er valgfrit, hvis MANIFEST.MF fil i hoved-JAR indeholder hovedklassens navn.
  • –type :hvilken slags installationsprogram vil vi oprette? Dette afhænger af det basisoperativsystem, som vi kører jpackage på kommando. På macOS kan vi sende pakketype som DMG eller PKG. Værktøjet understøtter MSI- og EXE-indstillinger på Windows og DEB- og RPM-indstillinger på Linux.
  • –java-indstillinger :muligheder for at overføre til Java runtime

Ovenstående kommando vil oprette JPackageDemoApp.dmg fil for os.

Vi kan derefter bruge denne fil til at installere applikationen på macOS-platformen. Efter installationen vil vi være i stand til at bruge programmet ligesom enhver anden software.

6. Konklusion

I denne artikel så vi brugen af ​​jpackage kommandolinjeværktøj introduceret i Java 14.


Java tag