许多库包含的功能远远超出我的需要.如果我将它们涂在我的罐子里,那么jar包含80%的代码,从未使用过.
有没有办法从依赖关系中删除任何未使用的方法和类我变成我的jar?
除非您有非常好的集成测试,否则我建议您对这个想法要非常小心。
框架经常会在这里或那里使用反射——并且没有工具可以通过静态分析来确定代码的哪些部分将通过反射来调用。
除此之外:我们这里谈论的是多少兆字节?请记住,Java SE 安装包含数千个您永远不会使用的类。
我的意思是:这是一个真正的问题还是假设的问题?客户是否抱怨过多的依赖性?有什么事情给你带来真正的麻烦吗?然后,只有到那时,您才应该考虑减少“罐子内容”。
最后:请记住,您是首先创建这些依赖项的人!因此,当您担心为您的产品引入的项目数量时 - 也许您首先检查是否有方法可以减少产品的直接依赖性。而不是按照问题中的建议使用“太大”的列表和减少 jar 内容的想法。