【转载】MAVEN项目setting.xml配置文件详解

举报
姮柏芃 发表于 2020/03/30 19:20:46 2020/03/30
【摘要】 MAVEN项目setting.xml配置文件详解


能看懂英文当然更好,地址:配置文件官方说明https://maven.apache.org/settings.html

Maven项目的setting.xml文件,主要分为两个:
用户的安装:  ${user.home}/.m2/settings.xml     当前用户范围的配置文件;
Maven安装

{user.home} /.m2目录是最简单的方法。Maven的默认settings.xml是一个包含注释和示例的模板,可以快速调整它以符合需求。


注:当然意思不是说只能有两个,只是配置范围分为两个,但是可以复制很多份,相对应到eclipse或者idea中的workspace可以指向不同的配置文件,配置不同的仓库或者用户,可以根据实际使用需要区分开来。


setting.xml文件参数含义:

  1. localRepository:自定义本地库路径,默认在 ${user.home}/.m2中;

  2. interactiveMode: 交互模式,Maven是否应该尝试与用户输入交互,默认是true,如果不是false。

  3. offline:是否每次编译都去查找远程中心库, 如果此构建系统应以离线模式运行,则为true,默认为false。由于网络设置或安全原因,此元素对于构建无法连接到远程存储库的服务器非常有用。

  4. pluginGroups:插件组,例如org.mortbay.jetty;

<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">  ...
 <pluginGroups>
   <pluginGroup>org.mortbay.jetty</pluginGroup>
 </pluginGroups>  ...</settings>12345678910

例如,给定上述设置Maven命令可以执行:

mvn jetty:run1
  1. servers:服务器;

<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">
 ...  <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>
 ...</settings>12345678910111213141516171819

id:与Maven试图连接的资源库/镜像的id元素相匹配的服务器的标识(不是用户登录的标识)。
username, password:表示向该服务器进行身份验证所需的登录名和密码。
privateKey,passphrase:和前面的两个元素一样,如果需要的话,这一对指定一个私钥的路径(默认是${user.home}/.ssh/id_dsa)和密码。该密码和密码的元素可能在将来被外部化,但现在他们必须设置在纯文本的settings.xml文件。
filePermissions,directoryPermissions:在部署中创建存储库文件或目录时,这些是要使用的权限。每个的合法值是一个三位数的数字,相当于* nix文件的权限,如:664或775。
注意:如果使用私钥登录到服务器,请确保省略元素。否则,该键将被忽略。
Maven 2.1.0以上版本支持服务器密码加密  
有这方面的兴趣或需求可以参考https://maven.apache.org/guides/mini/guide-encryption.html

  1. mirrors:镜像库,可以指定内部中心库;

<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">  ...
 <mirrors>
   <mirror>
     <id>planetmirror.com</id>
     <name>PlanetMirror Australia</name>
     <url>http://downloads.planetmirror.com/pub/maven2</url>
     <mirrorOf>central</mirrorOf>
   </mirror>
 </mirrors>  ...</settings>123456789101112131415

id,name:镜像的唯一标识符和用户的名字。该id用于区分镜像元素,并在连接镜像时从部分选择相应的凭据。
url:镜像的基本URL。构建系统将使用此URL来连接到存储库,而不是原始存储库URL。
mirrorOf:这是一个镜像的存储库的ID。
例如,要指向Maven 中央存储库(https://repo.maven.apache.org/maven2/)的镜像,设置为central。也可以设置为repo1,repo2或*,!inhouse。

  1. proxies:个性配置,需要在中激活;

<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">
 ...  <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>
 ...</settings>12345678910111213141516171819

id:此代理的唯一标识符,用于区分代理元素。
active:如果此代理处于活动状态,则为true。对于声明一组代理是必需的,但是一次只能激活一个代理。
protocol, host, port: :protocol://host:port。
username, password:表示对此代理服务器进行身份验证所需的登录名和密码。
nonProxyHosts:这是不应代理的主机列表。

  1. activeProfiles:表示激活的profile,加载所需的环境设置。

<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">
 ...  <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>
 ...</settings>12345678910111213141516171819202122232425262728293031

有关maven配置和项目创建,下面这篇文章已经介绍的比较详细,不再赘述。
基础环境是eclipse和Maven3;
https://wenku.baidu.com/view/c40e5467c77da26924c5b0a4.html

原贴地址 https://blog.csdn.net/asdf_1024/article/details/78967459

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。