我正在开发的项目依赖于一些众所周知的大型库。事情进展顺利,传递依赖关系现在彼此玩得很好。但不幸的是,总束大小约为100兆。
我不确定这是否太大,但是有没有办法在maven中有效地删除依赖关系,而不会使pom.xml非常详细和冗长?
帮助我朝正确方向发展的指针非常棒!
答案 0 :(得分:2)
您可以通过声明排除项来删除依赖项。我首先要发布的问题是..为什么要删除它们?
除非您知道不需要依赖项,否则尝试删除它们可能没有意义。特别是如果没有问题,例如在应用程序性能或启动时间方面。
Maven Dependency Plugin以及Eclipse集成提供了一些工具,可以让您通过依赖:树目标或POM的Dependnecy Hierarchy视图等工具更好地理解依赖关系。
不要试图修复未破坏的东西。
但是......
如果您真的知道运行时需要什么并使用Maven和M2e中的工具,那么您可能会删除大量的最终工件。但是,您必须使用依赖项排除在pom中配置它。较新的Maven版本甚至允许使用模式。
您可以做的另一件事是使用像proguard这样的工具,从最终工件中删除所有未使用的类。这可能相当复杂,但也非常有效。
在你努力和结果的好处之间找到适当的平衡将取决于你。