【发布时间】:2017-09-02 19:14:18
【问题描述】:
我有一个 Maven Scala 项目,该项目将部署在某个容器上,因此使用范围 provided 标记了几个依赖项,这意味着这些依赖项将用于编译,但不考虑传递解析,因为它们“提供于运行”。但是,当我运行以下命令时,它会生成带有依赖项的预期 jar,但也包括标记为 provided 的那些依赖项。
mvn clean install assembly:assembly -DdescriptorId=jar-with-dependencies -DskipTests
我尝试了这个问题的现有答案,例如Excluding “provided” dependencies from Maven assembly 但由于某种原因会产生不正确的依赖项选择,甚至丢失了主要代码。在这个 OP 中,我想找到一个更清洁、更新的解决方案来解决这个问题……有吗?
【问题讨论】:
-
使用不同的 maven 插件可能会更好。见Difference between maven plugins ( assembly-plugins , jar-plugins , shaded-plugins)。在这种情况下,Shade 可能最适合您。
-
@JonSampson 谢谢!它确实有效!您能否重新格式化您的评论作为答案,我会接受
-
很高兴它对你有用!我发布了一个更有价值(我希望)的答案。