我是Eclipse / Java dev的新手
我们在所有应用程序中消耗了许多库,如Log4J,JDom,Apache Configuration等
现在我在Eclipse项目中创建一个lib文件夹,并将这些库添加到所有项目中,然后创建包含这些库的JAR
我不想一次又一次地复制相同的库并捆绑它们,因为这些库对我的所有应用程序都是通用的。我显然想减少我的应用程序的足迹
有没有最佳做法?
由于
答案 0 :(得分:3)
Maven或Gradle将成为常见/明显的建议,但这些工具的学习曲线陡峭,IMO不是每个项目的正确选择(许多,但不是全部)
对于手动管理这些依赖项,在每个项目中拥有单独的副本比尝试跨项目/应用程序共享它们更好。原因是共享库将每个项目/应用程序耦合到这些库的相同版本;当您想要迁移其中一个应用程序以使用其中一个库的较新版本时会发生什么?所有其他应用程序也会获得新版本(这可能是也可能不是,并且可能导致一些"头脑破坏"问题)。
你无法减少"足迹"应用程序,因为最后,无论您如何管理它们,每个应用程序都必须能够访问它所需的库。
像Maven和Gradle这样的依赖管理工具实际上采用了这种方法,只是他们隐藏了JAR复制工作。
答案 1 :(得分:1)
我建议的第一件事是开始使用maven
它很好地处理依赖问题
或
您可以定义"User Library"
之类的windows -> preferences -> java ->User Libraries ->new
,然后选择创建的库并添加jar中添加所有的jar。
下次只需将该用户库添加到所需的项目而不是所有的jar。