看大佬對Maven講解有多深,Maven setting.xml文件 瞭解一下

通常我們安裝了Maven之後會對Maven setting.xml(Maven的配置文件做一些自定義),本章我們將詳細地學習一下Maven setting.xml文件。

看大佬對Maven講解有多深,Maven setting.xml文件 瞭解一下

  • 文件位置

一般存在與Maven安裝的 Root File Path 的conf文件夾下:

e.g.:

看大佬對Maven講解有多深,Maven setting.xml文件 瞭解一下

  • setting.xml 概覽
<code>/<code>
<code><settings>/<code>
<code>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0/<code>
<code>            http://maven.apache.org/xsd/settings-1.0.0.xsd">/<code>
<code>    <localrepository>/<code>
<code>    <interactivemode>/<code>
<code>    <offline>/<code>
<code>    <plugingroups>/<code>
<code>    <servers>/<code>
<code>    <mirrors>/<code>
<code>    <proxies>/<code>
<code>    <profiles>/<code>
<code>    <activeprofiles>/<code>
<code>

localRepository(Maven倉庫)

Maven repository 用於存放項目中應用的jar包,通常我們有一下兩種做法設置Maven的倉庫。

出廠默認設置

即不配置Maven Repository的任何信息,默認使用 ${user.home}/.m2/repository/setting.xml

自定義倉庫

<localrepository>E:\\WorkSpace\\IDEs\\Maven\\MavenRepository/<localrepository>

interactiveMode

看大佬對Maven講解有多深,Maven setting.xml文件 瞭解一下

interactiveMode 用於決定maven是否在需要輸出的時候提示你,默認true。如果是false,它將使用合理的默認值,或者基於一些設置。

offline

決定maven是否在構建的時候進行網絡傳輸。 默認false,表示聯網狀態,true為取消聯網。 在某些情況下設置為true是很有用的,比如jar無法從網上下載等。

pluginGroups

Maven組件,默認使用的是 org.apache.maven.plugins所有組件。在Maven 管理項目的生命週期時會用到plugin。一下為Maven常用的plugins

看大佬對Maven講解有多深,Maven setting.xml文件 瞭解一下

  • Default:默認使用Maven的插件。建議
  • Customized:自定義使用插件。不建議
  • <plugingroup>com.your.plugins/<plugingroup>

proxies

此項用於設置http代理 有時候由於安全問題,需要配置http代理,通過代理服務才能正常訪問外部倉庫下載資源可以ping repo1.maven.org來訪問中央倉庫 telnet 218.14.227.197 3128 來查看代理地址以及端口是否暢通

<code><proxies>/<code>
<code>    <proxy>/<code>
<code>      optional/<code>
<code>      <active>true/<active>/<code>
<code>      <protocol>http/<protocol>/<code>
<code>      <username>proxyuser/<username>/<code>
<code>      <password>proxypass/<password>/<code>
<code>      <host>proxy.host.net/<host>/<code>
<code>      <port>80/<port>/<code>
<code>     <nonproxyhosts>local.net|some.host.com/<nonproxyhosts>/<code>
<code>    /<code>
<code>  /<code>
  • id:proxy的唯一標識,用來區別proxy元素。
  • active:表示是否激活代理,如果配置多個,默認是第一個生效
  • username,password:提供連接代理服務器時的認證。
  • host,port:主機地址,端口號
  • nonProxyHosts:用來表示哪些主機名不需要代理,可以用|來分 割多個,此外也支持通配符,
  • 如:*.goole.com表示所有以goole.com結尾的都不需要通過代理
  • Default:
  • Customized:使用的不同的protocol 獲取資源,可以配置多個proxy,順序加載讀取。

servers

這是一個認證配置的列表,根據系統中使用的server-id控制。認證配置在maven連接到遠程服務時使用。

<code>  <servers>/<code>
<code>     | Specifies the authentication information to use when connecting to a particular server, identified by/<code>
<code>     | a unique name within the system (referred to by the 'id' attribute below)./<code>
<code>     |/<code>
<code>     | NOTE: You should either specify username/password OR privateKey/passphrase, since these pairings are/<code>
<code>     |       used together./<code>
<code>     |/<code>
<code>    <server>/<code>
<code>      deploymentRepo/<code>
<code>      <username>repouser/<username>/<code>
<code>      <password>repopwd/<password>/<code>
<code>    /<code>
<code>    /<code>


分享到:


相關文章: