如何从使用maven assembly创建的jar中排除javafx依赖项?
我的程序通过maven创建了两个不同的jar:一个是服务器应用程序,另一个是GUI应用程序。 我想把JavaFX放在应用程序中,这样运行它的人就可以在不安装JavaFX的情况下运行它。 问题是现在连服务器Jar里面都有JavaFX,这当然是无用的。 我怎样才能移除它 在我的POM文件中,依赖项是:如何从使用maven assembly创建的jar中排除javafx依赖项?,java,maven,javafx,Java,Maven,Javafx,我的程序通过maven创建了两个不同的jar:一个是服务器应用程序,另一个是GUI应用程序。 我想把JavaFX放在应用程序中,这样运行它的人就可以在不安装JavaFX的情况下运行它。 问题是现在连服务器Jar里面都有JavaFX,这当然是无用的。 我怎样才能移除它 在我的POM文件中,依赖项是:maven编译器插件,maven汇编插件,javafx图形,javafx控件,javafx fxml,junit。 我在阅读指南时构建了它,在所有2个应用程序中都遵循此模型: <plugin>
maven编译器插件
,maven汇编插件
,javafx图形
,javafx控件
,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>
org.apache.maven.plugins
maven汇编插件
包裹
单一的
com.baeldung.executable.ExecutableMavenJar
带有依赖项的jar
Hmm.您是否将每个项目放在独立的子模块中?如果是这样,那么JavaFX依赖项应该只为client module.Hmm声明。您是否将每个项目分为独立的子模块?如果是这样,那么JavaFX依赖项应该只为客户机模块声明。