使用myeclipse的maven插件Maven4Myeclipse的时候,里面有个设置:
可以指定用户配置文件的位置,对我这种不喜欢在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里面填写的。
step2: 配置hudson项目,使用刚才定义的maven文档
-- 选择项目,进入设置
-- 找到中间的 Build 项,点击右下的 Advanced 按钮
-- 这里就可以选择我们刚才添加的那个文档了,记得点击坐下的保存,使更改生效。同理,这里的 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盘干净的就不说了)