Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该在Mac上的哪里存储第三方Java库?_Java_Eclipse_Macos - Fatal编程技术网

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

我应该在Mac上的哪里存储第三方Java库?,java,eclipse,macos,Java,Eclipse,Macos,我是半园艺专家。我想下载一些ApacheCommons和GoogleGuava库,以便在Eclipse中使用。多个Q&a(,)表示自己下载该库,然后将其作为“用户库”加载到Eclipse中,我可以手动将其添加到项目中,或者通过像Maven这样的自动化项目管理插件。然而,这就留下了一个问题,我应该在我的系统上实际将库存储在哪里?(Mac OS) 理想情况下,我希望它位于所有Mac/*NIX系统通用的目录中。然而,这似乎表明这样做是一个坏主意,并意味着我应该在使用它的每个项目中保留库的单独副本。这似

我是半园艺专家。我想下载一些ApacheCommons和GoogleGuava库,以便在Eclipse中使用。多个Q&a(,)表示自己下载该库,然后将其作为“用户库”加载到Eclipse中,我可以手动将其添加到项目中,或者通过像Maven这样的自动化项目管理插件。然而,这就留下了一个问题,我应该在我的系统上实际将库存储在哪里?(Mac OS)

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


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

当我以手动方式维护我的项目依赖关系时,我遇到了同样的问题。很难控制它们,如果更新打破了可传递的依赖关系,那么有时更新库会是一次非常痛苦的经历

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

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

这样,您就不必担心库在哪里,您的IDE将使用apropiate Maven插件自动引用它们


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

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

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

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

这样,您就不必担心库在哪里,您的IDE将使用apropiate Maven插件自动引用它们


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

您引用的评论在方法上相当幼稚。有太多的构建管理工具来处理依赖关系,而不必处理这些细节

如果您决定使用一个工具,例如,您的依赖项将下载到指定的本地存储库(文件系统上的目录),并且所有Mavenized应用程序都可以轻松地配置为使用这些(共享)工件

大多数受Java支持的IDE(如Eclipse)都提供了使用Maven初始化项目的选项(或者,作为另一个例子),并且具有光滑的接口,可以轻松编辑它们的配置文件,以指定项目将使用哪些依赖项


与手动JAR/工件管理相反,我强烈推荐这两种方法中的任何一种,即使对于基本的个人修补项目也是如此。

您引用的评论在方法上相当幼稚。有太多的构建管理工具来处理依赖性,而不必处理这些细节

如果您决定使用一个工具,例如,您的依赖项将下载到指定的本地存储库(文件系统上的目录),并且所有Mavenized应用程序都可以轻松地配置为使用这些(共享)工件

大多数受Java支持的IDE(如Eclipse)都提供了使用Maven初始化项目的选项(或者,作为另一个例子),并且具有光滑的接口,可以轻松编辑它们的配置文件,以指定项目将使用哪些依赖项


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

正如克里斯蒂安所说,我也推荐Maven。它可以自动处理您刚才提到的所有内容,并且可以轻松地切换版本/升级到新版本等,而无需担心ying建议自己处理JAR。正如克里斯蒂安所说,我也推荐Maven。它可以自动处理您刚才提到的所有内容,并且可以轻松地切换版本/升级到新版本等,而无需担心自己处理JAR。