The JavaFX Maven Plugin provides a way to assemble distribution bundles for JavaFX applications (8+) from within Maven.
For easy configuration please use our new website (currently getting updated/reworked): http://javafx-maven-plugin.github.io
For (outdated) documentation/examples, your can look at archived website: https://web.archive.org/web/20141009064442/http://zenjava.com/javafx/maven/
Add this to your pom.xml within to your build-plugin:
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.5.0</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
.
Add this to your pom.xml within to your build-plugin:
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>8.5.0</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
.
Add repository in your pom.xml
for snapshot-versions of this plugin:
<pluginRepositories>
<pluginRepository>
<id>oss-sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
Set version to new SNAPSHOT-version:
<plugin>
<groupId>com.zenjava</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>9.0.0-SNAPSHOT</version>
<configuration>
<!-- your configuration -->
</configuration>
</plugin>
Some notes: as this isn't the main branch, a lot of features aren't present in that branch yet, deployment of new "-SNAPSHOT"-version are on-demand This is currently heavily outdated and will be updated June 2016
Version 8.5.0 (30-May-2016)
Bugfixes:
- updated workaround-detection for creating native bundles without JRE, because it got fixed by latest Oracle JDK 1.8.0u92
- added workaround for native linux launcher inside native linux installer bundle (DEB and RPM) not working, see issue #205 for more details on this (it's a come-back of the issue 124)
New:
- added ability to write and use custom bundlers! This makes it possible to customize the work which is required for your bundling-process.
- added new property to disable "native linux launcher inside native linux installer"-fix
<skipNativeLauncherWorkaround205>true</skipNativeLauncherWorkaround205>
Improvements:
- added IT-project "23-simple-custom-bundler"
- added IT-project "24-simple-custom-bundler-failed", which fails to use custom bundler, but does not fail (normal behaviour)
- added IT-projects regarding workaround for issue 205 (currenty they do nothing, I still need to write some verify-beanshell files)
- moved workarounds and workaround-detection into its own class (makes it a bit easier to concentrate on the main work inside NativeMojo)
upcoming Version 8.5.1 (???-2016)
- nothing changed yet