当前位置: 首页 > 知识库问答 >
问题:

使用JavaFX本机构建工具可以有多个可执行文件吗?

叶晋
2023-03-14

我正在使用JavaFX Gradle插件构建我的JavaFX应用程序。可以用不同的主类构建多个可执行文件吗?如果是,如何?

共有1个答案

薛涛
2023-03-14

这是可能的,因为底层javapackager确实支持这一点。

正如我所理解的那样,您有一个项目,其中有多个入口点,现在您希望为每个入口点创建本机启动器/二进制文件。在gradle插件中,甚至在javapackager中,这被称为“二级启动器”。

要使用同一个包创建多个可执行文件,只需将其添加到构建文件中:

jfx {
    // ... normal configuration ...

    // your secondary entry points, each will create a native executable (and one .cfg-file for each)
    secondaryLaunchers = [
        // second executable
        [
            appName: 'somethingDifferent'
            // will create the same executable, just with a different name (so this is demo-purpose only)
        ],
        // third executable
        [
            appName: 'somethingDifferent2',
            // specify your different entry-point
            mainClass: 'your.different.entrypoint.MainApp'
            // other possible entries: "jfxMainAppJarName", "jvmProperties", "jvmArgs", "userJvmArgs", "nativeReleaseVersion", "needShortcut", "needMenu", "vendor", "identifier"
        ]
    ]
}

免责声明:我是JavaFX Gradle插件的创建者;)

 类似资料:
  • 我遵循了构建quarkus本机可执行文件的步骤。 1.引导项目: 2.在minishift中使用docker 3.生成包: 失败,错误跟踪如下: 根据要求,树输出如下所示:

  • 我正在尝试为一个使用Quarkus和JavaFx的应用程序构建一个本机可执行文件。我实现这一点的唯一方法是将许多javaFx类标记为——在运行时初始化,但这导致在尝试启动应用程序时失败,并显示以下消息: 我想我需要在构建之前添加javafx模块,但不知道如何从Maven实现这一点。如果有人能帮助我,我将非常感激。提前谢谢。 PS:如果有人知道使用springboot的替代解决方案,请分享:) 更新

  • 我正在尝试将quarkus quickstart/kafka quickstart/project(来自quarkus getting started resources)构建为一个容器中的本机可执行文件,该容器具有多阶段Docker构建。在“quarkus maven plugin:0.21.2:原生映像”阶段出现备忘录外之前,构建被阻塞了很长一段时间。 在解决方案中,我使用docker com

  • 我在Netbeans中创建了一个java项目,现在正处于构建阶段。我的项目中的所有东西都设置好了,我在它的属性中设置了一个主类,我甚至将我的项目设置为主项目。当我进行“清理和构建”时,会用我的。jar文件创建一个dist文件夹。但是,.jar文件是不可执行的,为什么呢?我打开了。jar文件并查看了清单,指定了一个main类,那么有什么问题呢?我运行的是Netbeans 7.3.1。谢了。

  • 构建失败 我跟着https://quarkus.io/guides/building-native-image-guide#creating-a-container. 这两种方法都会产生朴素的图像可执行文件。

  • 我想使用pyInstaller的单文件夹模式,但我不想每次都收集所有依赖项。 大多数情况下,我可以重用它以前打包的所有依赖项,我只需要可执行文件,我想如果我能在构建过程中尽快停止,我会在构建过程中节省10~20分钟。exe文件已生成。 我知道用-F标志将所有依赖项打包到一个可执行文件中,但这不是我想要的。我只希望pyInstaller在打包步骤之前停止。 我希望生成在可能输出时立即停止: