为了账号安全,请及时绑定邮箱和手机立即绑定

为什么把settings.xml复制一份到本地仓库路径下,下次重新安装maven就不用再修改settings.xml?

为什么把settings.xml复制一份到本地仓库路径下,下次重新安装maven就不用再修改settings.xml呢?

1)那么原来../conf下的那份settings.xml可以删掉吗?

2)maven/系统怎么知道settings.xml被复制到本地仓库路径下了?


。。。。。不要告诉我这样做只是把settings.xml做一个备份,仅此而已-_-||||

正在回答

4 回答

这个貌似不行吧!因为你在环境变量做了一个这样的配置:

http://img1.sycdn.imooc.com//568b269000016f5b04360077.jpg你都明确指定maven的位置,好像只能用你指定的了,如果你不用IDE,用命令行的话!

感觉只能用指定的了,在conf/settings.xml中配置本地仓库路径进行了!个人理解,仅供参考!

又在settings文件看到了这样两句话!

<!--
 | This is the configuration file for Maven. It can be specified at two levels:
 |
 |  1. User Level. This settings.xml file provides configuration for a single user,
 |                 and is normally provided in ${user.home}/.m2/settings.xml.
 |
 |                 NOTE: This location can be overridden with the CLI option:
 |
 |                 -s /path/to/user/settings.xml
 |
 |  2. Global Level. This settings.xml file provides configuration for all Maven
 |                 users on a machine (assuming they're all using the same Maven
 |                 installation). It's normally provided in
 |                 ${maven.home}/conf/settings.xml.
 |
 |                 NOTE: This location can be overridden with the CLI option:
 |
 |                 -gs /path/to/global/settings.xml
 |
 | The sections in this sample file are intended to give you a running start at
 | getting the most out of your Maven installation. Where appropriate, the default
 | values (values used when the setting is not specified) are provided.
 |
 |-->

你可以在命令行中手动去修改settings.xml所在的位置:这样就和使用IDE一样了,即通过修改settings.xml位置,通过settings.xml中的localRepository去找本地仓库,

可以这样做:先输入mvn -h

http://img1.sycdn.imooc.com//568b2ad300012bc704610053.jpg

会在下面的帮助中看到这样的命令:

http://img1.sycdn.imooc.com//568b2b03000150eb06040060.jpg修改settings.xml文件路径,

如何修改:我自己试了,没有成功!

但是默认路径是${user.home}/.m2/settings.xml,那你把settings.xml复制到那个路径下,也能实现你要的效果了!

0 回复 有任何疑惑可以回复我~

maven是不知道的,所以还是要你把旧的settings复制过去,就好像你在配置文件里更改了本地仓库地址,maven就会重新下载所有所需的支持jar,而不会用之前路径下的jar一样。

0 回复 有任何疑惑可以回复我~

@小小小小小小童鞋

        先谢谢。你这个从eclipse的角度来讲解,也就是说eclipse会根据你配置的settings.xml路径来自动找到你的本地仓库地址。那么下次重新安装maven时,尽管旧的maven根目录下所有东西都卸载/删除了。但是在eclipse配置的这个settings.xml路径还在(因为这个settings.xml不是maven根目录下,不会因为删除旧版本而被删除),所以eclipse还会找到你原本的本地仓库。好,这些我都理解了。 

        但是.....你的回答是建立在eclipse,建立在eclipse知道maven的settings.xml在哪(因为我们手动告诉了eclipse的User Settings嘛-_-|||)。那如果不在eclipse集成环境中使用maven呢?像一开始老师讲解的章节,不用IDE,那么新装了maven之后,maven怎么知道我们要使用的是旧的settings.xml?而不是新版本自带的/conf/setting.xml呢?还望能补充,谢谢。

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//568b145f0001290106160335.jpg为什么把settings.xml复制一份到本地仓库路径下,下次重新安装maven就不用再修改settings.xml呢?

D:\Eclipse\.m2\settings.xml为本地仓库下的settings,这样做的好处确实是重新安装Maven,就不用再修改maven本地仓库中的settings.xml文件,为什么呢?这也与Maven的 User Settings 有关,它是根据你的User Settings设置去找与设置同目录的本地仓库!你可以看到上图中,D:/Eclipse/.m2/repository(本地仓库路径)是自动根据上面的 User Settings D:\Eclipse\.m2\settings.xml 自动选择的!你自己试一下安装就Maven就知道了了!

如果我再次安装Maven,我只需改变

http://img1.sycdn.imooc.com//568b15440001960806140310.jpgMaven安装包所在路径就行了,无需重新改变settings.xml文件和仓库路径!

1)那么原来../conf下的那份settings.xml可以删掉吗?

2)maven/系统怎么知道settings.xml被赋值到本地仓库路径下了?

第一个问题:还是保留吧,备份一下!

第二个问题:上面已经回答了,是根据setting.xml去找的本地仓库!自己试一下,就能理解了!

1 回复 有任何疑惑可以回复我~
#1

sprnate 提问者

回复有点长,我以回答自己该问题的形式发布了,麻烦你看一下。
2016-01-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
项目管理利器——maven
  • 参与学习       173090    人
  • 解答问题       742    个

使用maven来构建和管理Java项目,从环境配置,到maven核心知识

进入课程

为什么把settings.xml复制一份到本地仓库路径下,下次重新安装maven就不用再修改settings.xml?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信