Java 什么是.m2文件夹,如果我有两个不同项目的回购协议,如何配置它

Java 什么是.m2文件夹,如果我有两个不同项目的回购协议,如何配置它,java,spring,maven,Java,Spring,Maven,我在项目中使用maven,但我有两个具有不同依赖集的项目。一个项目需要大量依赖项,而另一个项目只需要少量依赖项。因此,当我进行maven构建时,所有不必要的依赖项都会被下载,因为settings.xml每次都指向同一个存储库。 如何让maven知道使用不同的回购?.m2文件夹是maven用于存储其以下内容的默认文件夹: settings.xml文件,该文件指定属性,如下载依赖项的中央存储库,即所谓的localRepository的位置 默认情况下,maven存储项目可能需要运行的所有依赖项的lo

我在项目中使用maven,但我有两个具有不同依赖集的项目。一个项目需要大量依赖项,而另一个项目只需要少量依赖项。因此,当我进行maven构建时,所有不必要的依赖项都会被下载,因为settings.xml每次都指向同一个存储库。 如何让maven知道使用不同的回购?

.m2文件夹是maven用于存储其以下内容的默认文件夹:

settings.xml文件,该文件指定属性,如下载依赖项的中央存储库,即所谓的localRepository的位置 默认情况下,maven存储项目可能需要运行的所有依赖项的localRepository。 基本上,在构建Java应用程序时,仅使用JDK是不够的。在开发过程中,您可能需要第三方库的帮助。例如:

用于读取CSV文件的库 进行单元测试的库 表示天气的符号? 无论如何,如果没有Maven,您将被迫将所有内容下载到您的计算机上,并手动向Java应用程序指示在哪里可以找到这些依赖项。 这就是maven的角色。它是一个依赖项管理工具,将项目的依赖项集中在一个地方,并以标准方式让您访问这些库,从而提高您的效率

默认情况下,maven从以下网站获取依赖项:


就效率而言,最好在项目中共享相同的localRepository,因为这样可以避免maven再次下载相同的依赖项。。。我甚至不知道是否有一种方法,如果没有,那是有一个很好的理由的:在您的计算机中有不同的本地存储库是无用的

为什么您希望不同的项目有不同的存储库目录?您可以只使用同一个。@jfabianmeier我在本地已经有一个项目,并且我已经从github导入了一个新的不同项目,当我尝试构建新项目时,依赖项正在从为本地项目配置的.m2下载或引用,现在是否有可能创建另一个.m2,或者如果我的理解有误,它是如何工作的?您可以对计算机上的所有项目使用相同的.m2/存储库。明白了,最后一件事是.m2将包含我作为依赖项开发的工件。PS:文档很难遵循如果您使用mvn clean install构建一个工件,它将转到.m2/repository。最近,我通过放置settings.xml的新副本,在.m2中添加了一个不同的本地repo。新的\u settings.xml有一个名为C:\Users\my\u name\.m2\distribute\u repository的标记。当我在eclipse中更新maven设置时,会创建一个新的repo。我发现diff-repo很有用,因为diff项目不会下载不需要的lib,也不会有冲突的机会。