我正在使用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使用本地存储库?
答案 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,它会按预期工作。