适用于 Linux 的 java fx 应用程序构建工具的最佳实践

Posted

技术标签:

【中文标题】适用于 Linux 的 java fx 应用程序构建工具的最佳实践【英文标题】:best practices for java fx application build tool for linux 【发布时间】:2016-09-07 18:18:30 【问题描述】:

我正在尝试编写 JavaFX 应用程序。当我使用 Netbeans 构建它时,RPM 包在 CentOS 6 上不起作用。

有什么万无一失的方法可以为 Linux 构建 JavaFX 应用程序吗?

【问题讨论】:

【参考方案1】:

免责声明:我是javafx-maven-plugin 的维护者和javafx-gradle-plugin 的创建者

使用maven时,可以使用javafx-maven-plugin,只需将<bundler>设置为“rpm”即可:

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>8.4.0</version>
    <configuration>
        <mainClass>your.path.to.your.MainClass</mainClass>
        <verbose>true</verbose>
        <bundler>rpm</bundler>
        <bundleArguments>
            <licenseFile>license.rtf</licenseFile>
        </bundleArguments>
        <!-- place your license here -->
        <additionalAppResources>src/main/additionalAppResources</additionalAppResources>
    </configuration>
</plugin>

然后只需在命令行上调用mvn jfx:native 来创建包含JRE 在内的应用程序的rpm 包。如果您不希望 JRE 位于 RPM 包中,只需将 &lt;runtime /&gt; 添加到 bundleArguments。

使用 gradle 时,只需查看 github 上的项目网站 ;) 或通过邮件询问我是否有不清楚的地方。

编辑 作为临时解决方法,请将 appName 设置为不带点的内容

    <configuration>
        <!-- other configuration elements -->
        <appName>SimpleApplicationNameWithoutDot</appName>
    </configuration>

【讨论】:

似乎有一些错误.. 在此打开问题票:github.com/javafx-maven-plugin/javafx-maven-plugin/issues/205 它仍然无法工作,在实施更改后...可能我需要调试我的 Centos 安装,但不幸的是无法获取系统日志 如其他频道所述:我通过使用 sample project 和我的修改获得了工作 RPM。刚刚创建了一个简单的 CentOS 虚拟机,安装了 Oracle-JDK,安装了 Netbeans(用于 JavaSE),打开了那个 maven-project 并点击了“clean and build”。结果是可重现的。请尝试在该示例项目上验证这一点,而不是在您的实际工作项目上;)也许还有其他问题 对于所有读者:这是通过 javafx-maven-plugin 8.5.0 修复/解决的 谢谢 :) 但它无法与外部库一起使用

以上是关于适用于 Linux 的 java fx 应用程序构建工具的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

三菱系串口PLC实现ModbusTCP通信,以及与工控机监控程序配置案例

适用于 Linux 的 Java 分析工具 [关闭]

“删除”是不是适用于多态性? [复制]

JVM 外的 Java 崩溃 - 适用于 Windows 而不是 Linux

将 .jar 转换为适用于 Windows、Linux 和 Mac 的应用程序

JavaFX .jar 适用于 Windows 和 OSX,但不适用于 Linux