java - 如何从使用 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>
解决方案
推荐阅读
- r - 如何在 r 中为单独的函数生成给定数量的列?
- ios - 使用轻击手势识别器时未检测到几何元素,但它检测到 body-splitcontainers-split123
- java - Hibernate 命名查询
- python - 具有不规则时间序列的 groupby 后的 Pandas 数据帧过滤
- gitlab - 运行 gitlab-runner 几个步骤
- mysql - Mysql,Node,查询中的查询,如何从另一个查询中填充地图函数中的属性
- javascript - 无法在 Next.js 中获取动态组件以跳过服务器端渲染并仅在客户端上显示
- excel - 将新数据加载到工作表中时,我将使用什么公式使列自动填充到 Excel 中?
- python - 调用另一个函数时如何停止特定函数?
- ios - Swift 将键路径作为 func 的参数传递