我的工作区中有5-6个项目,其中很多是相互依赖的。
我通常只将其他项目lib
目录中的所有可能JAR放入当前项目的构建路径中,而无需检查构建所需的内容。
这种方法是否会导致问题,因为每个项目中都有几十个JAR?
答案 0 :(得分:1)
答案 1 :(得分:1)
我同意@ m0skit0并且可以继续说明你应该尽最大努力删除你并不真正使用的库。
手动操作可能非常困难。因此,更好的方法是使用自动依赖关系管理。 Maven和Gradle完美地完成了这项工作。您只需提及第一级依赖项(您应该知道)。他们关心第二,第三等级别的依赖关系。您永远不会更新您的lib
目录。构建工具会自动更新本地存储库。
答案 2 :(得分:0)
相互依赖,我希望你并不是说你有循环依赖。这将是一个很大的NO!
如果您的依赖项不是循环的,那么我没有看到任何问题。无论如何,您都需要运行时类路径中的所有这些jar来运行该程序。您可能希望避免的是在项目A的代码中对项目B使用的库“old_library_still_needed_by_project_B_but_that_should_not_be_used_anymore.jar”进行直接依赖,但是有一些静态Java代码分析工具(可以检查某些类或包)永远不会在项目源代码中使用),比如CheckStyle和PMD。