我正在使用Maven在Windows和Mac上构建JavaFx项目。我正在使用Maven-ant-plugin构建我的包,我的build.xml包含几个fx:secondaryLauncher块。辅助启动器使您能够在app目录中创建其他可执行文件,这些可执行文件将启动除主类之外的类。
以下是官方文档中的示例:
<fx:info title="Test Suite"/>
<fx:secondaryLauncher
mainClass="samples.TestSuite"
name="Suite Applications"/>
shortcut="true"/>
<fx:secondaryLauncher name="Editor">
<fx:bundleArgument arg="icon" value="../resources/editor.ico"/>
</fx:secondaryLauncher>
<fx:secondaryLauncher name="Spreadsheet">
<fx:bundleArgument arg="icon" value="../resources/spreadsheet.ico"/>
</fx:secondaryLauncher>
当我从Java 8切换到Java 10时 - maven通过maven-ant-plugin创建的软件包停止在Mac OSX上创建辅助启动器。包装器似乎忽略了fx:secondaryLauncher块。
Windows程序包包含辅助启动程序,经过研究后我发现自Java 9发布以来 - “仅支持Windows和Linux应用程序的多个入口点”(完整文档在这里:https://docs.oracle.com/javase/9/deploy/self-contained-application-packaging.htm#JSDPG1000)。
有没有人知道二级发射器的替代品? 我宁愿最小化Windows和Mac OSX构建过程之间的差异(虽然这次可能无法;-)) 谢谢!
答案 0 :(得分:0)
在研究了几种可能的解决方案之后,看起来以下解决方案是最好的解决方案:
这有几个好处: