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

Sådan pakker du app på Java 11 med ikke-modulære afhængigheder

Opdatering:07 er nu inkluderet siden JDK 14. Det følgende svar gælder dog stadig for ældre JDK-versioner.

Jeg har haft samme problem. Jeg ville bruge JDK 11, men ifølge JDK-8212780 JEP 343 er planlagt til JDK 13, så vi må vente lidt endnu. Pakke "native" selvstændige applikationer under Java 8 - 10 var ikke et problem, da pakkeren var inkluderet (i det mindste i Oracle JDK).

I dag fandt jeg ud af denne e-mail og tænkte, at jeg gerne ville prøve det:Du kan se mit eksempelprojekt på github.com/skymatic/javafx11-test, som jeg pakkede med succes ved hjælp af den back-porterede 16 fra JDK-udviklingsafdelingen.

Hvad jeg gjorde her:

  • Oprettede et nyt HelloWorld-projekt ved hjælp af OpenJDK 11 og OpenJFX 11.
  • Downloadede pakkeren og påkaldte den fra Maven-builden (bemærk, at den skal ligge i JDK, og du skal indstille 24 for at det virker...)
  • Bonus:Jeg brugte 38 for at finde ud af afhængigheden af ​​min ikke-modulære jar og indstille 46 parameter for at producere et mindre runtime-billede

Selvfølgelig er det endnu nemmere for modulære projekter:I denne commit til mit eksempelprojekt kan du se, at jeg brugte 54 's parametre for modulstien og hovedmodulet i stedet for klassestien og hovedklassen.


Java tag