我想使用几个标准的第三方库(例如Apache的log4j)来处理我正在研究的小型Java项目。我知道如何配置我的IDE,Eclipse,以便在我的开发工作期间可以使用这些库,但我不知道如何为我的应用程序构建发行版,以便在必要时将这些外部库正确安装在目标中系统
我看到的一种方法是将这些外部库视为项目的内部库,甚至将它们检入Git或subversion,或者与真正开发的代码一起检查。
我最不喜欢这种方法,至少对于我目前正在使用的方法而言,这些外部库的总磁盘占用空间超过了我的应用程序本身的占用空间的10倍(正如我所说,非常小而简单。)
有更好的方法吗?
PS:我听说过Maven并且应该处理这些问题,但对于我在这里处理的相对较小且简单的项目来说,这看起来有点过分了。答案 0 :(得分:4)
我没有在没有maven的情况下多年建立一个java应用程序。无论有多大或多小,为您管理依赖关系都很棒。当您真正想要部署到终端服务器并且需要将所有deps本地化时,依赖性插件非常棒。我不认为任何项目对于简单的POM文件来说太小了。
答案 1 :(得分:1)
平心而论,您的问题不是关于Eclipse,而是关于项目分发。
正如你所说,普通香草解决方案是将你的项目包括在svn / git中。
Maven确实可以提供帮助,而且它也可以与Eclipse进行良好的集成,从而减轻部署周期。
我同意你的意见,Maven可能是一个矫枉过正的人。对于中间地面的解决方案,我会看看常春藤,也许也是gradle。有一个真正令人敬畏的演讲题为“你的下一个成功构建”关于这个主题here。
答案 2 :(得分:1)
Maven很棒,直到你需要开始与他人一起开发并且没有每个人都可以访问的maven存储库。当您创建当前项目所依赖的模块时,这只会成为一个问题,而不需要将该依赖项合并到设置中。
如果没有maven存储库将这些更改推送到它可能会变得混乱。
如果这只是您正在进行的项目,或者您公司内部的项目,而不是maven可能是一个好主意,或者您只使用已在公共maven回购中提供的第三方库。