Java 将单个依赖项包添加到maven工件

Java 将单个依赖项包添加到maven工件,java,maven,package,Java,Maven,Package,给出一个定义为以下内容的依赖关系示例: <dependency> <artifactId>commons-lang</artifactId> <groupId>commons-lang</groupId> <version>2.4</version> </dependency> 公地郎 公地郎 2.4 是否可以将该依赖项中的单个包(例如org.apache.commons

给出一个定义为以下内容的依赖关系示例:

<dependency>
    <artifactId>commons-lang</artifactId>
    <groupId>commons-lang</groupId>
    <version>2.4</version>
</dependency>

公地郎
公地郎
2.4
是否可以将该依赖项中的单个包(例如org.apache.commons.lang.math)添加到最终的jar包中?

您可以使用shade maven插件在应用程序中创建胖jar

Shade插件可以自动删除项目未使用的所有依赖类

请看shade projekt中的示例,可能对您有用:

您可以使用shade maven插件在应用程序中创建胖罐子

Shade插件可以自动删除项目未使用的所有依赖类

请看shade projekt中的示例,可能对您有用:

您的用例是什么?你想要实现什么?因为简单的答案是:你不能(轻松地)做到这一点。输出jar文件将独立使用,因此它需要包含一些依赖类。我不想包含所有的项目依赖项,因为其中一些是不相关的,只是占用了磁盘空间。因此,您正在制作一个包含项目依赖项的最终程序集,对于
commons lang
您想去掉其中的一些包吗?如果您担心磁盘空间问题,只需将相关的依赖项包含在中(包括您在中想要的内容)。删除软件包不会带来很大的磁盘空间好处,而且可能会导致奇怪的错误(如果您保留了一个软件包,但它取决于另一个软件包怎么办?)?你想要实现什么?因为简单的答案是:你不能(轻松地)做到这一点。输出jar文件将独立使用,因此它需要包含一些依赖类。我不想包含所有的项目依赖项,因为其中一些是不相关的,只是占用了磁盘空间。因此,您正在制作一个包含项目依赖项的最终程序集,对于
commons lang
您想去掉其中的一些包吗?如果您担心磁盘空间问题,只需将相关的依赖项包含在中(包括您在中想要的内容)。删除软件包不会带来很大的磁盘空间好处,而且可能会导致奇怪的错误(如果您保留了一个软件包,但它取决于另一个软件包怎么办?)