首页 > 解决方案 > 如何从使用 maven 程序集创建的 jar 中排除 javafx 依赖项?

问题描述

我的程序通过maven创建了两个不同的jar:一个是服务器应用程序,另一个是GUI应用程序。我想将 JavaFX 放在应用程序中,这样运行它的人就可以在不安装 JavaFX 的情况下运行它。问题是现在即使是服务器 Jar 里面也有 JavaFX,这当然是没用的。我怎样才能删除它?

在我的 POM 文件中,依赖项是:maven-compiler-plugin, maven-assembly-plugin, javafx-graphics, javafx-controls, javafx-fxml, junit. 我按照所有 2 个应用程序的此模型阅读指南构建了它:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
    <execution>
        <phase>package</phase>
        <goals>
            <goal>single</goal>
        </goals>
        <configuration>
            <archive>
            <manifest>
                <mainClass>
                    com.baeldung.executable.ExecutableMavenJar
                </mainClass>
            </manifest>
            </archive>
            <descriptorRefs>
                <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
        </configuration>
    </execution>
</executions>

标签: javamavenjavafx

解决方案


推荐阅读