Javafx Maven Plugin Versions Save

Maven plugin for JavaFX

javafx-maven-plugin-8.8.0

7 years ago

This is kind of a big release, because it contains so much new stuff :) all just for you !!!

There are some changes, maybe you used the features, mostly one important is about the used properties. Please note that using maven-properties is not recommended, please use the tags inside the configuration-blocks as much as possible.

New:

  • added detection of missing main class, wrong configuration now gets detected a bit earlier, to disable scanning, just set <skipMainClassScanning>true</skipMainClassScanning> (might cause the build-time to increase when enabled)
  • nativeReleaseVersion will now get sanitized, anything than numbers and dots are removed, this ensures compatibility with the used bundler toolsets
  • signing jars using jarsigner was introduced some time ago, but it was lacking some custom parameters, this is now fixed by having the new additionalJarsignerParameters-list while using native MOJO (fixes issue #260)
  • generating a keystore has some hardcoded parameters (like keysize or used algorithm), but was missing support for additional parameters, this is now fixed by having the new additionalKeytoolParameters-list while using generate-key-store MOJO
  • added ability to fail the build on errors while bundling, just set <failOnError>true</failOnError>
  • when having not specified any bundler, it now is possible to remove that JNLP-warning regarding "No OutFile Specificed", which makes that bundler being skipped, just set <skipJNLP>true</skipJNLP> inside the <configuration>-block
  • added property to skip nativeReleaseVersion rewriting, just set <skipNativeVersionNumberSanitizing>true</skipNativeVersionNumberSanitizing> inside the <configuration>-block
  • added skipCopyingDependencies to make it possible to NOT copying dependencies, but they are added to the classpath inside the manifest like normal
  • added <fixedManifestClasspath> for setting the classpath-entry inside the generated manifest-file in the main jfx-jar, this is already possible for secondary launchers by setting <classpath> within the configuration-block of the secondary launcher
  • added <useLibFolderContentForManifestClasspath> for creating the manifest-entriy for the classpath, depending on the content of the lib-folder, makes it possible to have files not being inside dependencies being present there (which got copied beforehand)

Improvements:

  • added warning when no classes were generated for -jfx.jar-generation, fixes issue #233 (no real FIX, as this is no real BUG ... IMHO)
  • added warning about slow performance (even on SSD) when having ext4/btrfs filesystems using "deb"-bundler (fixes issue #41)
  • added warning about missing "jnlp.outfile"-property inside bundleArguments when using JNLP-bundler (from issue #42)
  • added ability to change name of the lib-folder by setting libFolderName

Changes:

  • reimplemented <additionalBundlerResources>, now searching for folders with the name of the used bundler, makes it possible to adjust nearly all bundlers now
  • all parameters are now accessible via jfx.-prefixed properties, please adjust your properties accordingly (I hope this does not break much for you)

javafx-maven-plugin-8.7.0

7 years ago

I'm currently in a very good flow to push new features and bugfixes.

Not even two weeks after the last release some nice features and of course bugfixes are inside this new one. Thanks to all who reported bugs and who are asking me directly via e-mail. Keep on your good work ;) and use this maven-plugin.

New:

  • added additionalBundlerResources for being able to have additional files available to the used bundler
  • added feature for copying additionalAppResources to target/jfx/app when calling jfx:jar and jfx:run, making it possible to have all that files available (like native files being required to not reside in the jar-files) by setting <copyAdditionalAppResourcesToJar>true</copyAdditionalAppResourcesToJar>

Bugfixes:

  • fixed possible file-handler leak (unreported)

Improvements:

  • refactored a bit to have cleaner code

javafx-maven-plugin-8.6.0

7 years ago

After three months without a new release, it feels refreshing to have some minor tweaks for you folks. Now all my "open" issues are down to non-critical bugs, it is time to take care of the website, which is heavily outdated ... the polymer-project got some nice mayor upgrade, so this in mind the next goal is to make you happy again.

New:

  • added new property useEnvironmentRelativeExecutables to make sure having the correct executables used, required when having multiple installations of java, just set this to false for using the JDK used for executing maven (this got migrated from the javafx-gradle-plugin)
  • added new property runAppParameter for specifying application parameters passed to the execution call java -jar while developing your application (this fixes #176, because that issue got valid as the mvn jfx:run goal is valid again after the removal of the exec-maven-plugin)
  • added new property runJavaParameter for having additional settings passed to the execution call used for running your javafx-application, makes it possible to specify javassist-parameters now (and much more)

Bugfixes:

  • fixed tests not running on MacOSX due to different paths exceptations (thanks @sa-wilson)

Improvements:

  • cleanup of some unused parameters
  • fixed missing "s" inside description about jfx:list-bundlers-mojo

javafx-maven-plugin-8.5.0

7 years ago

This release contains a step forward into a fully customizable creation-pipeline: by providing a list of your selfmade bundler, which might generate some fancy stuff or does some preprocessing which might become a configuration-hell inside the pom.xml, but behold folks, this cloudy dark age is over now. Take a look at this:

<configuration>
    <!-- use our new bundler -->
    <bundler>DummyBundler</bundler>

    <!-- that bundler resides in some class-file or classpath-dependency inside a jar-file -->
    <customBundlers>
        <customBundler>com.zenjava.test.customBundlers.DummyBundler</customBundler>
    </customBundlers>
</configuration>

Signing your generated installer now becomes less a nightmare and more an easy and REUSABLE task to solve, even without gradle!

(some advertisement) Talking about gradle: did you know there exists a gradle-plugin using the same power of this plugin? It's called JavaFX-Gradle-Plugin

Having problems with created installers on linux-systems like DEB or RPM? Your application does not even run? Oh my friends, you might have caught some bug which already should have been fixed, but lied there in secret inside the installer: a workaround for issue 205 made it into this release. I missed the point, that the application was created twice (when generating installers and not having some specific bundler specified).

In the meantime I'm working on some update of the configurator-website, making the current state being present there too.

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)

javafx-maven-plugin-8.4.0

8 years ago

This was a fast one! Not even a week has passed before a new version was able to be released!

This plugin was depending on some maven-plugins to call keytool and executing the generated jfx-jar, but that all got reworked by directly using ProcessBuilder. Removing the mojo-executor revealed some misconfiguration of our pom.xml, because we were dependent of transitive dependencies of that maven-plugin (which never is a good idea). There are some other improvements and changes which are listed below:

New:

  • when creating JNLP-files, your can now choose between Blob Signing (which was introduced since JavaFX but seems has never worked, and will be removed from Java 9) or normal signing done by jarsigner by providing the new property <noBlobSigning>true</noBlobSigning>
  • the run goal got its deprecation removed, you can call mvn jfx:run now again to start your application like you would start a normal executable-jar (no more calling java -jar yourProject-jfx.jar)

Improved:

  • removed org.twdata.maven:mojo-executor-dependency
  • fixed maven-plugin dependencies
  • generating keystore now directly uses keytool
  • changed appveyor to build/test using x86 and x64

All in all I get the feeling that some users don't report their found bugs, or JNLP isn't used very often when using the javafx-maven-plugin.

Using Gradle? Using Maven isn't what you need? You can start using the javafx-gradle-plugin which brings the same power from maven to gradle.

javafx-maven-plugin-8.3.0

8 years ago

This release contains one new feature and includes some fixes for the new "jnlp"-bundler of oracle.

Bugfixes:

  • bugfix #182 replace backslash with normal slash within JNLP-files
  • bugfix #185 add signing-feature for bundler with ID "jnlp" (by setting <jnlp.allPermisions>true</jnlp.allPermisions> inside bundleArguments)
  • fixed size-attributes within JNLP-files when using bundler with ID "jnlp" and requesting to sign the jars

New:

  • added possibility for adding file associations
  • added new property to disable backslash-fix <skipNativeLauncherWorkaround182>true</skipNativeLauncherWorkaround182>
  • added new property to disable signing referenced jar-files <skipSigningJarFilesJNLP185>true</skipSigningJarFilesJNLP185>
  • added new property to skip size-recalculation for jar-files inside generated JNLP-files <skipSizeRecalculationForJNLP185>true</skipSizeRecalculationForJNLP185>

The Java 9 SNAPSHOT-release will get updated next week to include all new features and fixes since the last release of version 9.0.0

Thanks to all for using this javafx-maven-plugin.

javafx-maven-plugin-8.2.0

8 years ago

This release is something special, because it includes not only bugfixes, it introduces some interesting new features. As they are not used that often, I hope you all will provide me with any feedback (and I BET there is something not as right as you are expecting).

Something I really wanted for some time: automatic testing on windows-systems! This is now solved by AppVeyor (which is for free for open-source projects). This got required as there are system-specific tests/workarounds in this projects.

Thanks for using this maven-plugin, means a lot to me!!!

Bugfixes:

  • bugfix #159 added support for openjdk/openjfx (version-checker failed with NumberFormatException due to wrong expectations)
  • added workaround for bug #167 regarding native windows launcher configuration-file (cfg-file), bug is inside Oracle JDK since 1.8.0 Update 60 (to work around this, this plugin tries to enforce property-file-format, which does not contain the problem)

New:

  • added new property to disable workaround <skipNativeLauncherWorkaround167>true</skipNativeLauncherWorkaround167>
  • added new mojo: calling mvn jfx:list-bundlers shows currently available bundlers with ID, name and descriptions, including their specific arguments able to be passed via <bundleArguments>-configuration
  • added possibility for "secondary launchers", makes it possible to have more than one native launcher
  • added possibility to filter dependencies while putting required JAR-files into the generated lib-folder
  • added property to disable transitive filtering
  • added CONTRIBUTING-file (fixes #125)

Improvements:

  • added some IT-projects and updated others
  • updated to more Java 8 syntax
  • added Windows-CI via AppVeyor (including status badge)

javafx-maven-plugin-8.1.5

8 years ago

After working on issue #124 I found a bug inside the Oracle JDK.

The problem is the native launcher on linux-systems (mostly discovered on Ubuntu). When you have something like this when launching native executable, you should upgrade to version 8.1.5 of this plugin:

client-1.1 No main class specified
client-1.1 Failed to launch JVM
  • (workaround) added workaround for configuration-filename-bug
  • (added) every feature not being able to turn off, is a bug, so please use the new configuration-property <skipNativeLauncherWorkaround124>

javafx-maven-plugin-8.1.4

8 years ago

The improvement on this plugin is continuing, but this time no mayor fixes were made:

  • (new) To get <userJvmArgs> from within your javafx-application you can now define a system-scoped dependency which is picked up by javafx-maven-plugin, but only when having at least Java 1.8u40, This feature can be disabled by setting <addPackagerJar>false</addPackagerJar> inside your configuration.
  • (new) New maven-goal available for generating keystore using maven-lifecycle (called build-keystore)
  • (changed The run-mojo will be dropped in some releases, because it's creating too much wrong issue-tickets (mostly because the classpath isn't correct or jvmproperties aren't set up like configured). Don't worry, it won't be dropped until the end of this year.
  • added missing runtime-dependency for running mvn jfx:generate-key-store
  • minor typos were fixed

We have a new website now, which is intended to reduce the needed time to create your configuration. That website will be powered by Github-Pages feature, just go to http://javafx-maven-plugin.github.io/ and check it out.

This website is not intended to have all details about configuration, therefor http://www.zenjava.com should be consulted (soon).

javafx-maven-plugin-8.1.3

8 years ago

This is the new release for 2015. After some some changes at the management, we are proud to present the current version of the javafx-maven-plugin.

There are a big number of bugfixes and new features within this release just to bring you the best tool for your daily development.

Some major changes/enhancements:

  • (new) bundler configuration option for selecting the bundler as you wish (makes it possible to skip unwanted native-bundle-types)
  • (new) additionalAppResources option for having additional files within your native package for easier distribution of additional files (including licenses)
  • (new/bugfix) creating jfx-jar or native bundle is now possible within normal maven-build
  • (bugfix) generating keystore possible again, there have been some improvements on how we create the "distinguished name"
  • (bugfix) multiple execution-configurations now do work with this plugin
  • we are now expecting Java 8 at least 1.8.0_20, versions before please use previous versions of this plugin (anything before version 8.1.0, but they contain bugs)

Creating pull-requests will now checked by TravisCI for easier validation of potential harmful changes. We are using maven-invoker-plugin to run specific test-projects (we are still enhancing that amount) so please ensure to check these before creating pull-requests, if you commit something new, please try to create a new test-project too.

Feel free to use our plugin, to give us feedback and create issue-tickets if needed.