

To start the application, the launcher will place every JAR file that was copied from the input directory on the class path of the JVM.

The package will include a launcher for the application, also called myapp. The name of the package will be myapp, though the name of the package file itself will be longer, and end with the package type (e.g., myapp.exe). If the MANIFEST.MF file in main.jar does not have a Main-Class attribute then you must specify the main class explicitly: $ jpackage -name myapp -input lib -main-jar main.jar \ Will package the application in the local system's default format, leaving the resulting package file in the current directory. Then the command $ jpackage -name myapp -input lib -main-jar main.jar Suppose you have an application composed of JAR files, all in a directory named lib, and that lib/main.jar contains the main class. The supported platform-specific package formats are:īy default, jpackage produces a package in the format most appropriate for the system on which it is run. The application may be provided as a collection of ordinary JAR files or as a collection of modules. The jpackage tool packages a Java application into a platform-specific package that includes all of the necessary dependencies. However, it was removed from Oracle’s JDK 11 as part of the removal of JavaFX. To address these requirements previously, a packaging tool called javapackager was distributed with Oracle’s JDK 8. Developers can use jlink to strip the JDK down to the minimal set of modules that are needed, and then use the packaging tool to produce a compressed, installable image that can be deployed to target machines.
#OPENJDK JAVA 14 INSTALL#
For example, on Windows users expect to be able to double-click on a package to install their software, and then use the control panel to remove the software on macOS, users expect to be able to double-click on a DMG file and drag their application to the Application folder.Ī packaging tool can also help fill gaps left by other technologies such as Java Web Start, which was removed from Oracle’s JDK 11, and pack200, which was deprecated in JDK 11 for removal in a future release. This allows Java applications to be distributed, installed, and uninstalled in a manner that is familiar to users. It is not sufficient for the application developer to deliver a simple JAR file they must deliver an installable package suitable for the native platform. Many Java applications need to be installed on a native platform in a first-class way, rather than simply being placed on the class path or the module path. The tool will not be available on Solaris.There will be no auto-update mechanism.There will be no native splash screen support.

#OPENJDK JAVA 14 LICENSE#
There will be no aggregation of individual license files.

Create a tool for packaging self-contained Java applications.
