John Threepwood
John Threepwood

Reputation: 16143

How to avoid warning using the javafx-maven-plugin to create executable without installer for Windows?

In our project we use the Maven plugin javafx-maven-plugin to create a native executable for our JavaFX application. Our configuration looks like this:

<plugin>
  <groupId>com.zenjava</groupId>
  <artifactId>javafx-maven-plugin</artifactId>
  <version>8.8.3</version>
  <configuration>
    <vendor>our company</vendor>
    <mainClass>foo.bar.MainClass</mainClass>
  </configuration>
</plugin>

After running ``mvn jfx:native'' an exeutable EXE file is successfully created. That executable comes without an installer routine as we wanted. However, the building log warns us about not using an installer builder:

[INFO] Skipping 'EXE Installer' because of configuration error 'Can not find Inno Setup Compiler (iscc.exe).'
Advice to fix:   Download Inno Setup 5 or later from http://www.jrsoftware.org and add it to the PATH.
[INFO] Skipping 'MSI Installer' because of configuration error 'Can not find WiX tools (light.exe, candle.exe).'
Advice to fix:   Download WiX 3.0 or later from http://wix.sf.net and add it to the PATH.

Is there a way to tell the plugin we explicitely do not want an installer routine to be created to avoid these warnings?

These warnings are not a big issue, but we try to keep our project as clean as possible.

Update 1: In order to create the executable during the package phase of maven, I added the following configuration (proposed by http://javafx-maven-plugin.github.io):

<executions>
  <execution>
  <!-- required before build-native -->
    <id>create-jfxjar</id>
    <phase>package</phase>
    <goals>
      <goal>build-jar</goal>
    </goals>
  </execution>
  <execution>
    <id>create-native</id>
    <phase>package</phase>
    <goals>
      <goal>build-native</goal>
    </goals>
  </execution>
</executions>

Upvotes: 1

Views: 792

Answers (1)

FibreFoX
FibreFoX

Reputation: 2858

This can be avoided by directly setting the wanted bundler.

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>8.8.3</version>
    <configuration>
        <vendor>our company</vendor>
        <mainClass>foo.bar.MainClass</mainClass>
        <!-- win.app | linux.app | mac.app | exe | msi | rpm | deb -->
        <bundler>win.app</bundler>
    </configuration>
</plugin>

Disclaimer: I'm the maintainer of that project

Upvotes: 2

Related Questions