首页 > 解决方案 > 将 JavaFX 打包到可执行的胖 JAR 中,但 Maven 不会生成有效的类路径

问题描述

我正在尝试将我的 JavaFX 应用程序打包到一个可执行的胖 JAR 中,但它从不工作。我已经尝试过在网上找到的几个指南,包括在 SO 上的 aswers,但我没有运气。我可以设法正确设置主类,但类路径总是丢失,然后抛出 JavaFx 运行时组件丢失的错误。我现在正在使用maven-shade-plugin(我尝试过其他插件),这里是配置pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <shadedArtifactAttached>true</shadedArtifactAttached>
                <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                        <mainClass>com.sjsm.App</mainClass>
                    </transformer>
                </transformers>
            </configuration>
        </execution>
    </executions>
</plugin>

编辑:根据评论中的要求,我添加了 3 个我使用的链接,但没有一个有效。另请注意,在过去两周左右的时间里,我尝试了其他来源。

链接 1 链接2 链接3

标签: javamavenjavafxexecutable-jarfatjar

解决方案


推荐阅读