原文链接 译者:carvendy
Maven 配置
Maven 配置发生有三个级别:
- Project – 静态配置在pom.xml
- Installtion – 这个配置在maven的一次安装中
- User – 这个配置指定部分用户
这样区分就清晰了 – 项目定义信息应用于项目,无论是谁构建它,当其他人也从定义了一些配置作为环境变量。
注意:安装和用户配置不能被用于贡献项目信息 — 例子,你可以设置<organization> 和 <distributionManagement> 给全公司。
为了这个,你的项目应该从公司父级 pom.xml继承过来。
你可以指定你的用户配置 在==${user.home}/.m2/settings.xml==。一个全引用考配置文件是可用的。这部分将展示怎么使用公共配置。之一文件是不需要的 – 默认你将使用如果它找不到的时候。
配置你的本地仓库
你的本地仓库能被你的用户配置改变。默认值是==${user.home}/.m2/repository/==.
<settings>
...
<localRepository>/path/to/local/repo/</localRepository>
...
</settings>
注意:这里必须的绝对地址。
配置代理
代理配置可以指定在settings文件。
了解更多信息,可以看看使用代理。
配置并行工件解析
默认,Maven 2.1.0+将下载5个工件(从不同的组)马上。为了改变线程池,启动Maven时使用==-Dmaven.artifact.threads== 。 作为例子,只能下载简单的工具了:
mvn -Dmaven.artifact.threads=1 clean install
你可能希望永久地设置选项,在这用例你可以使用==MAVEN_OPTS ==环境变量。作为例子:
export MAVEN_OPTS=-Dmaven.artifact.threads=3
权限和发布设置
仓库发布是定义在==<distributionManagement>选项。无论如何,你不能把用户名和密码或者其他权限认证信息放在项目里。为了这个原因,你应该加入一个server定义到你自己的配置并使用id==作为匹配在你项目中发布仓库。
除此之外,一些仓库可能需要权限来下载,所以相应的设置可以指定在server元素使用同一种方式。
所需的设置将取决于您部署到的存储库的类型。作为第一个发布,只有SCP发布和文件发布是被默认支持的,所以只有跟随 SCP配置是需要的:
<settings>
...
<servers>
<server>
<id>repo1</id>
<username>repouser</username>
<!-- other optional elements:
<password>my_login_password</password>
<privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)
<passphrase>my_key_passphrase</passphrase>
-->
</server>
...
</servers>
...
</settings>
为了加密密码部分,请参考加密设置。
使用仓库镜像
仓库是声明在项目里,意味着如果你有自己定义的仓库,可以分享你项目和容易得到正确的配置。可是,你想使用可替代的特别仓库而不改变项目文件。请参考镜像设置或者更多信息。
Profiles
仓库配置可以输出到一个profile。你可以有多个Profile,并激活其中一个所以你可以容易地选择环境变量。读取更多Profile信息在构建Profiles介绍。
可选配置
Maven讲工作在很多任务基于配置,可是如果你有任何环境知道配置在你项目之外的,你需要配置。跟着这些部参考什么是可用的。
设置
Maven 有一个设置文件位于Maven的安装目录或者用户目录,配置可用在环境中指定以下:
- HTTP代理
- 仓库管理
- 服务端权限和密码
- 其他配置属性
为了了解更多信息,请看设置引用。
权限
在Maven 2.1.0 以上,你可以加密密码到你设置文件,可是你必须先配置master密码。为了了解更多信息,server 密码和master密码,请看密码加密指南。
工具链
在Maven 2.0.9以上,你可以构建一个项目使用指定独立的jdk版本在你Maven运行的时候。为了了解更多,请看工具链指南。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/99877.html