Maven-Settings

Maven-SettingsMaven – Settings.xmlsettings.xml定义了许多配置用来控制maven的执行。但并不绑定与任何独立的项目。有两个路径放

欢迎大家来到IT世界,在知识的湖畔探索吧!

Maven – Settings.xml

settings.xml定义了许多配置用来控制maven的执行。但并不绑定与任何独立的项目。

有两个路径放置settings.xml

Maven 默认配置: ${maven.home}/conf/settings.xml

User默认配置:${user.home}/.m2/settings.xml

User配置优先级高于Maven

settings.xml可配置项:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository/> <interactiveMode/> <offline/> <pluginGroups/> <servers/> <mirrors/> <proxies/> <profiles/> <activeProfiles/> </settings>

欢迎大家来到IT世界,在知识的湖畔探索吧!

环境变量或者系统参数可以被引用到settings.xml。 eg: ${user.home} ${env.HOME}

配置项详情

localRepository

本地仓库, 远程下载下来的jar包会放置于该目录

interactiveMode

交互模式,该配置会决定当maven需要输入的时候是否会提示用户,若设置为false,则会使用合理的默认值。

offline

当构建系统需要在离线模式的时候,该配置会起到作用。

Plugin groups

该元素包含一系列pluginGroup元素, 每个包含groupid。当一个插件被使用且没提供相应的groupid的时候,该项的元素会被使用到。这个列表默认包含org.apache.maven.plugins org.codehaus.mojo

欢迎大家来到IT世界,在知识的湖畔探索吧!<pluginGroups> <pluginGroup>org.eclipse.jetty</pluginGroup> </pluginGroups> mvn jetty:run

Servers

下载jar包的仓库用户名和密码被存储在该项。

<servers> <server> <id>server001</id> <username>my_login</username> <password>my_password</password> <privateKey>${user.home}/.ssh/id_dsa</privateKey> <passphrase>some_passphrase</passphrase> <filePermissions>664</filePermissions> <directoryPermissions>775</directoryPermissions> <configuration></configuration> </server> </servers>

id: 与server中的id相对应

username,password: 服务器的登录账号和密码

privateKey,passphrase:密钥相关

filePermissions,directoryPermissions:文件及文件夹权限

Mirrors

镜像定义

欢迎大家来到IT世界,在知识的湖畔探索吧!<mirrors> <mirror> <id>planetmirror.com</id> <name>PlanetMirror Australia</name> <url>http://downloads.planetmirror.com/pub/maven2</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>

id,name: 镜像的唯一标识符和友好名字, id和Servers节点对应。

url: 镜像的URL。通过该地址访问仓库

mirrorOf: 是镜像中仓库的id。

Proxy

<proxies> <proxy> <id>myproxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts> </proxy> </proxies>

id: proxy的唯一标识符

active: 该代理是否激活

protocol,host,port: 代理的协议、地址、端口

username,password: 用户名以及密码

nonProxyHosts:不需要被代理的地址列表

Profiles

profile元素是pom.xml profile的缩略版。若profile在settings中是激活的,它的值会在POM中被替代。

Activation

定义了profile被激活的条件

<profiles> <profile> <id>test</id> <activation> <activeByDefault>false</activeByDefault> <jdk>1.5</jdk> <os> <name>Windows XP</name> <family>Windows</family> <arch>x86</arch> <version>5.1.2600</version> </os> <property> <name>mavenVersion</name> <value>2.0.3</value> </property> <file> <exists>${basedir}/file2.properties</exists> <missing>${basedir}/file1.properties</missing> </file> </activation> ... </profile> </profiles>

Properties

proerties是占位符,使用${}来获取。总共有5种形式

  • env.x 表示环境变量
  • project.x 表示project元素下的值
  • settings.x 表示settings中的配置
  • ${java.x} java系统变量
  • x 定义在<properties / >下的属性

Repositories

定义仓库相关信息

<repositories> <repository> <id>codehausSnapshots</id> <name>Codehaus Snapshots</name> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>never</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://snapshots.maven.codehaus.org/maven2</url> <layout>default</layout> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>myPluginRepo</id> <name>My Plugins repo</name> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> <url>https://maven-central-eu....com/maven2/</url> </pluginRepository> </pluginRepositories>

releases,snapshots分别表示不同的版本

checksumpolicy: 校验和策略 ignore fail warn

Active Profile

指定激活的profile

<activeProfiles> <activeProfile>env-test</activeProfile> </activeProfiles>

与profile的id对应

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/63437.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信