我应该在哪里存储Mac上的第三方Java库?

时间:2017-02-08 21:04:34

标签: java eclipse macos

半透明。我想下载一些在Eclipse中使用的Apache Commons和Google Guava库。多个Q& As(exampleexample)已经说过要自己下载库,然后通过路径将它作为“用户库”加载到Eclipse中,我可以手动添加到项目中或通过像Maven这样的自动化项目管理插件。但是,这就留下了一个问题,我应该在哪里将库实际存储在我的系统中? (Mac OS)

理想情况下,我希望它位于所有Mac / * NIX系统通用的目录中。但是,this Q&A似乎表明这样做是个坏主意,而this comment意味着我应该在每个使用它的项目中保留一个单独的库副本。这似乎既浪费了空间(对于使用相同库版本的项目),也使得在单独的文本编辑器中将Java文件丢失成为麻烦,因为库存储在Eclipse项目的文件结构中而不是系统级别。

那么我应该在哪里放置第三方Java库?

2 个答案:

答案 0 :(得分:2)

当我以手动方式维护项目依赖项时,我遇到了同样的问题。很难控制它们,如果更新破坏了传递依赖,有时更新库可能会非常痛苦。

当我切换到Maven时,所有这些痛苦都消失了。

配置Maven时,可以设置这些库所在的目录(公共路径为{user.dir}/.m2},每次将依赖项添加到项目中(通过POM),然后Maven将检查是否已下载该库。如果没有,它将下载并存储以供将来使用(相同版本)。它还为您解决了传递依赖性,因此您不必担心会破坏它手动更换JAR时。

通过这种方式,您不必担心库的位置,您的IDE将使用适当的Maven插件自动引用它们

我并不是说你应该使用Maven,但如果你的问题是管理依赖关系,那么Maven(或任何其他依赖管理系统,例如:Gradle)可以帮助你。

答案 1 :(得分:2)

你引用的评论在方法上非常天真。有太多的构建管理工具来处理依赖关系,而不必处理这些细节。

如果您决定使用Maven之类的工具,您的依赖项将被下载到指定的本地存储库(文件系统上的目录),并且所有Mavenized应用程序都可以轻松进行配置使用那些(共享)工件。

Eclipse等大多数Java支持的IDE都提供了使用Maven(或Gradle初始化项目的选项,作为另一个示例),并且具有流畅的界面,可以轻松编辑其配置文件以指定项目将使用哪些依赖项。 / p>

我会强烈推荐其中任何一种,而不是手动JAR /工件管理,即使对于基本的个人修补项目也是如此。