使用myeclipse的maven插件Maven4Myeclipse的时候,里面有个设置:


maven中的setting怎么改alibba maven配置setting文件_maven

可以指定用户配置文件的位置,对我这种不喜欢在C盘放系统外任何东西的人来说简直太爽了……这样设置之后

${user.home}/.m2

这个文件夹以及他下面的 setting.xml 文件就完全没用了,可以删掉了。

但是后来使用hudson的时候,发现还是要回到C盘啊,虽然改了仓库位置,但是用户文件夹下还是有个.m2文件夹,看着非常不爽,于是后来使用hudson的设置解决:

step1: 选择hudson的系统设置中的maven config,添加一个maven文档


--


-- 点击add,这里有一个我之前创建的


-- Type 选择 SETTINGS,Name随便写,关键是最下面的 Attribtes,里面的内容就是 setting.xml 里的内存,填好之后点击左下角 Save按钮保存


-- 出现 update 按钮之后就是保存成功了,以后如果修改这个文档就行了。


-- 其实hudson是在 home/maven/documents 下面创建了一个xml文件,但是这个xml不是setting.xml


-- 这个xml内包含了 setting.xml, 可以这么理解。红框内的内容就是刚才在Attributes里面填写的。


maven中的setting怎么改alibba maven配置setting文件_maven_02

step2: 配置hudson项目,使用刚才定义的maven文档

-- 选择项目,进入设置


-- 找到中间的 Build 项,点击右下的 Advanced 按钮


maven中的setting怎么改alibba maven配置setting文件_开发工具_03

-- 这里就可以选择我们刚才添加的那个文档了,记得点击坐下的保存,使更改生效。同理,这里的 Global Settings 可以通过同样的方法配置,但是一般不会动全局配置。


-- 之后构建项目,就可以在日志中看到 Reading user settings form (************) 这一串,配置已经生效。


其实这个和Maven4Myeclipse是一样的,后来我不使用myeclipse和hudson的时候,这个问题又出来了…之前一直在想,他们是如何更改(指定)用户配置文件路径的,网上的资料都是说的如何在 ${user.home}/.m2 下面创建setting.xml这样的东西。再之后想到从maven命令上看能不能设置,果然找到了: 

mvn -s <args>

这个 -s 参数就是指定用户配置文件的,有图有真像:




到此就算完全解决了我之前的问题,虽然每次输入命令时要多带一个参数有些麻烦,但C盘算是再次清静了

所以配置maven setting文件方法有三个:

1:maven的安装目录conf里面(全局级别),这个一般不会动,这里更改相当于所有使用该maven的项目改了

%M2_HOME%/conf/settings.xml

2:用户文件夹下 .m2 文件夹内(用户级别),这个是推荐使用的配置文件,如果不指定,那么所有项目都会应用此配置


${user.home}/.m2/settings.xml

3:今天发现的这个呢,就是项目单独指定一个配置文件(项目级别)。使用maven命令来设置配置文件


mvn -s <args>

以上三个如何用,可以视具体情况而定。有些情况使用第二种的情况非常好,有时使用第三种很不错。(


想C盘干净的就不说了)