2011-08-05 72 views
13

我们有一个小项目,它有一些重量级的依赖关系(例如Spring),我们只使用小部分。因此,我们在打包所有依赖关系时所得到的JAR重达几兆字节,即使是两级服务器也是如此。这似乎没有必要。从jar中排除未使用的依赖项部分(Maven)

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

回答

9

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

如果您不想手动指定需要包含什么,也许有一种方法可以将ProGuard与您的版本集成。

+0

我在ProGuard网站上发现了很多有用的参考资料,谢谢!即使Maven无法自动执行此操作(耻辱),但似乎希望使用其他工具。 – Raphael

+4

maven shade插件现在允许通过' true'配置自动过滤 – harschware

+0

我刚刚在一个项目上尝试过它,它将我的jar大小减少了36%,不需要额外的配置。 – harschware

相关问题