从jar(Maven)中排除未使用的依赖项部分

时间:2011-08-05 14:16:49

标签: maven dependency-management maven-assembly-plugin

我们有一个小项目,有一些重量级的依赖(例如Spring),我们只使用小部件。因此,我们在打包所有依赖项时得到的JAR重达几兆字节,即使对于两类服务器也是如此。这似乎没必要。

有没有办法将JAR程序集限制为实际使用的(类)文件?

2 个答案:

答案 0 :(得分:10)

您可以使用maven-shade-plugin创建一个Jar-with-dependencies(您的项目和依赖项合并到一个大jar),同时限制添加到该jar的类或包。请参阅includes / excludes page以供参考。

如果您不想手动指定需要包含的内容,可能有一种方法可以将ProGuard与您的构建集成。

答案 1 :(得分:2)

不可能仅包括使用的类。但是你可以exclude dependencies from your depencies来减少JAR的大小。唯一的缺点是:你需要知道你可以排除什么和不排除什么。