Home Java javaTutorial How to Deploy a JavaFX 11 Desktop Application with a Bundled JRE?

How to Deploy a JavaFX 11 Desktop Application with a Bundled JRE?

Dec 03, 2024 am 06:34 AM

How to Deploy a JavaFX 11 Desktop Application with a Bundled JRE?

Deploying a JavaFX 11 Desktop Application with a JRE

Deploying JavaFX applications has undergone a significant change with the discontinuation of Java Web Start in Java 11. As recommended by Oracle, it is now advisable to bundle the application with a JRE, eliminating the need for users to install a separate JRE.

Steps for Deployment with a JRE

To deploy a JavaFX 11 application with a JRE, follow these steps:

  1. Convert Application to a Module:
    Create a module-info.java file to define the module name and dependencies.
  2. Build with a Module Path:
    Compile the application using a module path instead of a classpath, including the necessary modules such as JavaFX.
  3. Create a Jar and Jmod:
    Create a jar from the compiled classes and convert it to a jmod (Java module) using the jmod tool.
  4. Link the Image:
    Link the jmod and its required modules into an "image" using the jlink command. The image essentially contains a minimal JRE with only the required modules.

Distribution

Distribute the image file tree (a directory structure) to users. The executable for the application is placed in the image's bin directory. Users can run the application by executing this executable.

Native Installers and Other Tools

Java 14 introduces jpackage, a tool for creating native installers. Additionally, external tools like JWrapper and InstallAnywhere can still be used for creating installers, but it's important to ensure they are compatible with Java 11's module system.

Cross-building

To create images for different platforms, use the jmod and jlink commands with the appropriate target platform specified. For example, for Windows, one would use the platform string "windows-amd64."

By following these steps and using the appropriate tools, developers can deploy JavaFX 11 desktop applications with a bundled JRE, ensuring compatibility with users who do not have Java 8 installed.

The above is the detailed content of How to Deploy a JavaFX 11 Desktop Application with a Bundled JRE?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Top 4 JavaScript Frameworks in 2025: React, Angular, Vue, Svelte Top 4 JavaScript Frameworks in 2025: React, Angular, Vue, Svelte Mar 07, 2025 pm 06:09 PM

Top 4 JavaScript Frameworks in 2025: React, Angular, Vue, Svelte

How does Java's classloading mechanism work, including different classloaders and their delegation models? How does Java's classloading mechanism work, including different classloaders and their delegation models? Mar 17, 2025 pm 05:35 PM

How does Java's classloading mechanism work, including different classloaders and their delegation models?

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading? How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading? Mar 17, 2025 pm 05:43 PM

How can I use JPA (Java Persistence API) for object-relational mapping with advanced features like caching and lazy loading?

Iceberg: The Future of Data Lake Tables Iceberg: The Future of Data Lake Tables Mar 07, 2025 pm 06:31 PM

Iceberg: The Future of Data Lake Tables

How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution? How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution? Mar 17, 2025 pm 05:46 PM

How do I use Maven or Gradle for advanced Java project management, build automation, and dependency resolution?

Spring Boot SnakeYAML 2.0 CVE-2022-1471 Issue Fixed Spring Boot SnakeYAML 2.0 CVE-2022-1471 Issue Fixed Mar 07, 2025 pm 05:52 PM

Spring Boot SnakeYAML 2.0 CVE-2022-1471 Issue Fixed

Node.js 20: Key Performance Boosts and New Features Node.js 20: Key Performance Boosts and New Features Mar 07, 2025 pm 06:12 PM

Node.js 20: Key Performance Boosts and New Features

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache? How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache? Mar 17, 2025 pm 05:44 PM

How do I implement multi-level caching in Java applications using libraries like Caffeine or Guava Cache?

See all articles