maven常用设置

1.maven设置HTTP代理

在~/.m2/settings.xml文件中,元素<proxies>中(如果没有就新增该元素)添加:

<proxy>
    <id>my-proxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>222.14.25.4</host>
    <port>3333</port>
</proxy>

如果代理需要权限验证的话,在上面的proxy元素中添加username和password两个元素;

如果规定哪些域名访问不需要经过代理,则在proxy元素中添加:

<nonProxyHosts>*.google.com|*.baidu.com|*.qq.com</nonProxyHosts>

如果配置了多个proxy元素,则默认第一个生效,active为true表示激活该代理。

2.maven设置本地仓库路径

在~/.m2/settings.xml文件中,新增或编辑<localRepository>Path</localRepository>

3.maven设置仓库镜像,比如阿里云

在~/.m2/settings.xml文件中,添加:

<mirrors>
     <mirror>
        <id>aliyun</id>
        <name>aliyun maven</name>
        <url>https://maven.aliyun.com/repository/central</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

4.maven自带的仓库

在M2_HOME/lib/maven-model-builder-version.jar/org/apache/maven/model/pom.xml中:

  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

其中id不能重复,snapshots表示是否接受下载远程仓库的快照版本,repository元素中还可包含releases元素,表示是否接受稳定版本的下载;

snapshots和repository元素还可包含的子元素有updatePolicy和checksumPolicy分别表示更新周期和检查摘要不匹配的情况下的处理;

updatePolicy取值有never,daily,always,interval:X分别表示从不检查更新,每天检查更新,每次构建检查更新,每隔X分钟检查更新;

checksumPolicy取值有warn(默认),fail,ignore分别表示当信息摘要不匹配时构建警告,失败,忽略;

5.配置远程仓库

在项目pom.xml的根元素下添加

<repositories>
    <repository>
        <id>远程仓库id</id>
        <name>远程仓库描述</name>
        <url>远程仓库url地址</url>
        <releases>
            <enabled>是否开启发布版本下载(true/false)</enabled>
        </releases>
        <snapshots>
            <enabled>是否开启快照版本下载(true/false)</enabled>
        </snapshots>
        <layout>布局(maven2和maven3默认是default)</layout>
    </repository>
</repositories>

6.远程仓库认证

则在本地的settings.xml中的servers元素添加

<server>
    <id>仓库id</id>
    <username>登录名</username>
    <password>密码</password>
</server>

7.部署构件到远程仓库

在项目的pom.xml中的根元素下添加

<distributionManagement>
    <repository>
        <id>远程仓库id</id>
        <name>远程仓库描述</name>
        <url>远程仓库url地址</url>
    </repository>
    <snapshotRepository>
        <id>远程仓库id</id>
        <name>远程仓库描述</name>
        <url>远程仓库url地址</url>
    </snapshotRepository>
</distributionManagement>

其中repository表示发布版本,snapshotRepository表示快照版本

 

posted on 2018-12-12 15:04  问天涯  阅读(137)  评论(0编辑  收藏  举报

导航