Maven不会在settings.xml中的localRepository指定的目录中存储工件

时间:2014-11-12 09:57:18

标签: eclipse maven maven-3

我正在使用apache-maven-3.2.3

它位于C:\ java \ apache-maven-3.2.3

settings.xml文件位于C:\ java \ apache-maven-3.2.3 \ conf \ settings.xml

在settings.xml文件中,我定义了以下内容:

<localRepository>C:/java/maven_repo</localRepository>

我定义了windows环境变量:

  
      
  • M2_HOME = C:\的java \ Apache的行家-3.2.3
  •   
  • M2 =%M2_HOME%\ bin中
  •   
  • PATH环境变量包括%M2%
  •   

我已将我的STS(Eclipse)配置为在C:\ java \ apache-maven-3.2.3

使用外部Maven安装

我的STS Maven - &gt;安装显示全局设置为:C:\ java \ apache-maven-3.2.3 \ conf \ settings.xml

我的STS Maven - &gt;用户设置显示来自合并和全局设置的本地存储库是:C:\ java \ maven_repo

C:/ Users / [myuser] /。m2

中没有settings.xml

实际上,我删除了C:/ Users / [myuser] /。m2中的整个.m2文件夹以确保

但是,当我通过STS进行Maven更新时,它仍然将工件下载到默认的.m2目录:C:/ Users / [myuser] /。m2 / repository

我的Eclipse项目还显示了在C:/ Users / [myuser] /。m2 / repository

中找到的Maven依赖项。

谁能告诉我为什么?我做错了什么?为什么不在c:/ java / maven_repo使用本地存储库?

2 个答案:

答案 0 :(得分:0)

通常,我会将默认的本地存储库文件夹从默认的 .m2 更改为另一个更有意义的名称,例如 maven-repo


找到 {M2_HOME} \ conf \ setting.xml ,将localRepository更新为其他内容。

  <settings>
      <!-- localRepository
       | The path to the local repository maven will use to store artifacts.
       |
       | Default: ~/.m2/repository
      <localRepository>/path/to/local/repo</localRepository>
      -->

    <localRepository>D:/maven_repo</localRepository>


完成后,您的新Maven本地存储库现已更改为D:/ maven_repo。

答案 1 :(得分:0)

我设法让它在Eclipse中运行的唯一方法是在Window - &gt; Preferences - &gt; Maven - &gt; User Settings中将用户设置文件设置为与全局设置相同: C:\的java \ Apache的行家-3.2.3 \ CONF \ settings.xml的

但我想,将该字段留空应该从全局settings.xml中获取设置,但由于某种原因它不会。因此,如果我将该用户设置字段留空,则不会应用来自global settings.xml的localRepositorty。

但是,如果我在eclipse之外运行Maven,它会按预期工作。