【发布时间】:2016-10-19 11:23:59
【问题描述】:
给定一个示例依赖定义为:
<dependency>
<artifactId>commons-lang</artifactId>
<groupId>commons-lang</groupId>
<version>2.4</version>
</dependency>
是否可以将单个包从该依赖项(例如 org.apache.commons.lang.math)添加到最终的 jar 包中?
【问题讨论】:
-
你的用例是什么?你想达到什么目标?因为简单的答案是:你不能(轻易地)这样做。
-
输出的 jar 文件将单独使用,因此它需要包含一些依赖类。而且我不想包含所有项目依赖项,因为其中一些无关紧要,只是占用磁盘空间。
-
所以您正在制作一个包含项目的一些依赖项的最终程序集,而对于
commons-lang,您想去掉其中的一些包吗?如果您担心磁盘空间,只需在 Assembly Plugin 中包含相关依赖项(在 dependency set 中包含您想要的内容)。删除软件包不会获得太多磁盘空间收益,而且可能会导致奇怪的错误(如果您保留一个软件包,但事实证明它依赖于另一个软件包怎么办?)