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的“使用工具链指南”

Maven的配置指南的更多相关文章

  1. JBoss7配置指南

    JBoss7配置指南   1.    jboss各主要版本特性... 3 1.1.     jboss4特性... 3 1.2.     jboss5特性... 5 1.3.     jboss6特性 ...

  2. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

  3. 国内可用maven repository 配置

    国内可用maven repository 配置 发表于2016/1/4 23:08:04  10235人阅读 分类: maven 鉴于一些原因,从maven中央仓库download依赖包时,被各种折磨 ...

  4. MyEclipse中Maven的配置

    之前在MyEclipse这个IDE中配置Maven,完成配置后启动Maven时出现-Dmaven.multiModuleProjectDirectory system propery is not s ...

  5. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  6. P6 EPPM 安装与配置指南 16 R1 2016.4

       关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) . ...

  7. P6 EPPM 16.1 安装和配置指南 1

    安装和配置指南下一topiccontents这些指南解释如何安装和配置数据库服务器,和P6 EPPM,模块:他们还提供在P6 EPPM能够解决所有模块的概述.标准指南帮助您配置和部署应用程序向导P6 ...

  8. P6 EPPM R16.1安装与配置指南(三)

    P6 EPPM R16.1安装与配置指南(三) 解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat   的行 SET JAR_FI ...

  9. P6 EPPM R16.1安装与配置指南(二)

    P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html P6 EPPM R16.1安装与配置指南(二) 环境变量配置 新建 ...

随机推荐

  1. MySQL InnoDB加锁超时回滚机制(转)

    add by zhj: 看来我对MySQL的理解还有待深入,水还是挺深的啊,MySQL给记录加锁时,可以通过innodb_lock_wait_timeout参数设置超时时间, 如果加锁等待超过这个时间 ...

  2. mvn install package区别

    package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库,供其他项目使用

  3. 内核block机制

    内核版本:linux2.6.22.6 硬件平台:JZ2440 驱动源码 block_ipc_poll_key_int_drv.c : #include <linux/module.h> # ...

  4. MongoDB pymongo模块 删除数据

    使用user集合,删除user集合的数据 import pymongo mongo_client = pymongo.MongoClient( host='192.168.0.112', port=2 ...

  5. Python之路 day1 基础1 变量 for while 用户输入

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  6. Java 基础 接口和多态

    接口 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的 ...

  7. extjs store快速创建的几种方式

    viewModel中定义stores: { tickets: { model: 'Ticket', autoLoad: true, remoteFilter: true, filters: [{ pr ...

  8. Vbox下的linux和windows共享文件设置

    参考链接: https://jingyan.baidu.com/article/2fb0ba40541a5900f2ec5f07.html

  9. xshell 禁用铃声 提示音

    xshell 的铃声在操作时比较烦,所以通常会关闭. 操作方法: 工具 > 选项 > 高级, 在“终端”选项下的 “禁用铃声” 前面打上勾, 确定即可.

  10. 回车和刷新以及Ctr+F5的区别

    回车(url跳转)主要是判断本地缓存文件的Expires的有效时间,如果有效则直接使用客户端缓存 不在提交到HTTP服务器 F5 Expires设置不再起效果,只有Last-Modified/ETag ...