Maven的配置指南
Maven的配置指南
配置Maven
Maven配置发生在3个级别:
- 项目 - 大多数静态配置发生在pom.xml中
- 安装 - 这是Maven安装时发生的一次性的配置过程
- 用户 - 这是Maven提供基于特定用户不同需求的配置,设置文件的默认位置是〜/ .m2 / settings.xml
Maven对不同配置需求分离非常明确 - 项目定义了适用于项目的信息,无论是谁构建,而其他人都定义了当前环境的设置。
注意:安装和用户配置不能用于添加共享项目信息 - 例如,在公司范围内设置<organization>或<distributionManagement>。
为此,您应该让您的项目继承自公司范围的父pom.xml。
您可以在$ {user.home} /.m2 / settings.xml中指定用户配置。一个完整的参考配置文件是可用的。本节将介绍如何进行一些常见配置。请注意,该文件不是必需的 - 如果找不到,将使用默认值。
Maven配置本地存储库
Maven允许用户配置中更改本地存储库的位置。默认值为$ {user.home} /.m2 / repository /。
<settings>
...
<localRepository>/path/to/local/repo/</localRepository>
...
</settings>
注意:本地存储库必须是绝对路径。
Maven配置代理
也可以在设置文件中指定代理配置。
有关更多信息,请参阅Maven使用代理指南。
配置并行工件解析
默认情况下,Maven 2.1.0+将同时下载最多5个工件(来自不同的组)。要更改线程池的大小,请使用-Dmaven.artifact.threads启动Maven 。例如,要一次只下载单个工件:
mvn -Dmaven.artifact.threads=1 verify
您可能希望永久设置此选项,在这种情况下,您可以使用MAVEN_OPTS环境变量。例如:
export MAVEN_OPTS = -Dmaven.artifact.threads = 3
Maven安全和部署设置
要部署到的存储库是Maven的配置文件的<distributionManagement>部分的项目中定义的。但是,您无法在该项目中输入用户名,密码或其他安全设置。因此,您应该将服务器定义添加到您自己的设置中,其id与项目中的部署存储库的ID相匹配。
此外,某些存储库可能需要授权才能从中下载,因此可以以相同的方式在服务器元素中指定相应的设置。
需要哪些设置取决于您要部署的存储库类型。从Maven第一个版本开始,默认情况下仅支持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>
要加密这些部分中的密码,请参阅Maven加密设置。
使用镜像存储库
可以在项目内声明存储库,这意味着如果您拥有自己的自定义存储库,那么共享项目的存储库可以轻松获得开箱即用的正确设置。但是,您可能希望在不更改项目文件的情况下为特定存储库使用备用镜像。有关更多详细信息,请参阅Maven镜像设置指南。
简介
存储库配置也可以放入配置文件中。您可以拥有多个配置文件,其中一个配置为活动状态,以便您可以轻松切换环境。了解更多关于Maven在配置文件中介绍来创建个人资料。
可选配置
使用上述配置,Maven将适用于大多数任务,但是如果您在单个项目之外有任何特定于环境的配置,则需要配置设置。以下部分涉及可用的内容。
设置
Maven有一个位于Maven安装和/或用户主目录中的设置文件,用于配置环境细节,例如:
- HTTP代理服务器
- 存储库经理位置
- 服务器验证和密码
- 其他配置属性
有关此文件的信息,请参阅Maven“ 设置”参考
安全
从Maven 2.1.0+开始,您可以加密设置文件中的密码,但必须先配置主密码。有关服务器密码和主密码的详细信息,请参阅Maven的“密码加密指南”。
工具链
从Maven 2.0.9+开始,您可以使用特定版本的JDK构建项目,该项目独立于Maven运行的项目。有关更多信息,请参阅Maven的“使用工具链指南”。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2018-09-06,如有侵权请联系 cloudcommunity@tencent 删除maven存储部署加密配置