Skip to content

javafx-maven-plugin/javafx-maven-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

74085ef · Aug 13, 2021
Jul 21, 2021
Aug 13, 2021
Jul 21, 2021
Jul 21, 2021
Jul 21, 2021
Feb 9, 2017
Nov 25, 2015
Aug 11, 2021
Aug 11, 2021
Jul 21, 2021
Apr 28, 2015
Jul 21, 2021
Jul 21, 2021
Aug 13, 2021

Repository files navigation

Maven Central

JavaFX Maven Plugin

The JavaFX Maven Plugin provides a way to assemble distribution bundles for JavaFX applications (8+) from within Maven.

This plugin is essentially a Maven wrapper for the packaging tool that comes with JavaFX, it's called javapackager.

For easy configuration please use the old configurator: https://zenjava.net/javafx-maven-plugin/

Requirements

  • Maven 3.5 (older versions might work too)
  • Java Developer Kit 8 with at least Update 40 (does NOT support JKD9 or later yet)

OS-specific requirements

  • (Windows) EXE installers: Inno Setup
  • (Windows) MSI installers: WiX (at least version 3.7)
  • (Linux) DEB installers: dpkg-deb
  • (Linux) RPM installers: rpmbuild
  • (Mac) DMG installers: hdiutil
  • (Mac) PKG installers: pkgbuild

Quickstart for JavaFX JAR

Add this to your pom.xml within to your build-plugin:

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>8.8.3</version>
    <configuration>
        <mainClass>your.package.with.Launcher</mainClass>
    </configuration>
</plugin>

To create your executable file with JavaFX-magic, call mvn jfx:jar. The jar-file will be placed at target/jfx/app.

Quickstart for JavaFX native bundle

Add this to your pom.xml within to your build-plugin:

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>8.8.3</version>
    <configuration>
        <vendor>YourCompany</vendor>
        <mainClass>your.package.with.Launcher</mainClass>
    </configuration>
</plugin>

To create your executable file with JavaFX-magic and some installers (please see official oracle-documentation which applications are required for this), call mvn jfx:native. The native launchers or installers will be placed at target/jfx/native.

Using SNAPSHOT-versions

When you report a bug and this got worked around, you might be able to have access to some -SNAPSHOT-version, please adjust your pom.xml:

<pluginRepositories>
    <pluginRepository>
        <id>oss-sonatype-snapshots</id>
        <url>https://oss.sonatype.org/content/groups/public/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>

Last Release Notes

Version 8.8.3 (09-feb-2017)

Bugfixes:

(Not yet) Release(d) Notes

upcoming Version 8.10.0 (???-???-2021)

New:

  • added a way to have PKCS11 signing by setting <skipKeypassWhileSigning>true</skipKeypassWhileSigning> and <skipKeyStoreChecking>true</skipKeyStoreChecking>, makes it possible to have hardware tokens
  • added ability to prefix dependencies with their groupId by setting <prefixWithGroupIdForClasspathDependencies>true</prefixWithGroupIdForClasspathDependencies>, should work around the edge-case where dependencies have the same artifactId and would overwrite otherwise

Enhancement:

  • JDK 9 compatibility (got broken with Jigsaw)
  • TravisCI: use newer build machines

Documentation:

  • clarified that this plugin is a wrapper, thanks to @TurekBot