JavaFX 8 Maven项目的原生包装,如何实现

时间:2015-02-24 02:07:21

标签: maven deployment javafx javafx-8

我可以通过Netbeans为我的JavaFX 8应用程序(带有WiX的.msi)为ANT项目制作本机安装程序,但是如何为Maven项目创建本机安装程序.msi或.exe(Inno)?

通常我只是想立即使用安装程序为最终用户部署我的应用程序......

http://zenjava.com/javafx/maven/native-bundle.html我收到错误

[ERROR] Failed to execute goal com.zenjava:javafx-maven-plugin:2.0:jar (jar) on
project MyProject: Execution jar of goal com.zenjava:javafx-maven-plugin:2.0:ja
r failed: An API incompatibility was encountered while executing com.zenjava:jav
afx-maven-plugin:2.0:jar: java.lang.NoSuchMethodError: com.sun.javafx.tools.pack
ager.Log.setLogger(Lcom/sun/javafx/tools/packager/Log$Logger;)

为此我尝试了Maven版本3.0.5,3.1.1和3.2.5,所以这" API不兼容"然后我猜不是Maven版本。该插件也是从2013年开始的,所以可能需要一个新插件,但我不知道任何替代方案。

从POM.XML中摘录ZenJava插件:

           <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <mainClass>com.company.Hello</mainClass>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.twdata.maven</groupId>
                        <artifactId>mojo-executor</artifactId>
                        <version>2.1.0</version>
                    </dependency>
                </dependencies>
            </plugin>

1 个答案:

答案 0 :(得分:2)

您使用的com.zenjava:javafx-maven-plugin版本必须与javaFX版本同步。 这意味着如果你使用带有javaFX2的java 7,你需要使用插件的v2.0。如果您在8u20之前使用java 8,则需要使用v8.1.0,而8u20需要使用v8.1.2