适用于 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 包中,只需将 <runtime />
添加到 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通信,以及与工控机监控程序配置案例
JVM 外的 Java 崩溃 - 适用于 Windows 而不是 Linux