maven 常用配置以及如何配置代理


共计 2940 个字符,预计需要花费 8 分钟才能阅读完成。

1. 常用配置

配置本地仓库地址。

<localRepository>D:\Maven</localRepository>

配置阿里云镜像

 <mirrors>
  <!-- 阿里云仓库 -->
  <mirror>
    <id>aliyunmaven</id>
    <mirrorOf>*</mirrorOf>
    <name>阿里云公共仓库</name>
    <url>https://maven.aliyun.com/nexus/content/repositories/central</url>
    <!-- 新版地址,首页 https://developer.aliyun.com/mvn/guide-->
    <!-- <url>https://maven.aliyun.com/repository/central</url> -->
  </mirror>

  <!-- 中央仓库 -->
  <mirror>
      <id>repo1</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>https://repo1.maven.org/maven2/</url>
  </mirror>
</mirrors>

配置profile,这个一般不会用到。

<profiles>
    <profile>
      <id>nexus</id>
      <repositories>
          <repository>
              <id>central</id>
              <url>http://repo1.maven.org/maven2</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>true</enabled>
              </snapshots>
          </repository>
      </repositories>
      <pluginRepositories>
          <pluginRepository>
              <id>central</id>
              <url>http://repo1.maven.org/maven2</url>
              <releases>
                  <enabled>true</enabled>
              </releases>
              <snapshots>
                  <enabled>true</enabled>
              </snapshots>
          </pluginRepository>
      </pluginRepositories>
  </profile>
  <profile>
      <id>qcloud-repo</id>
      <repositories>
          <repository>
              <id>qcloud-central</id>
              <name>qcloud mirror central</name>
              <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
              <snapshots>
                  <enabled>true</enabled>
              </snapshots>
              <releases>
                  <enabled>true</enabled>
              </releases>
          </repository>
      </repositories>
      <pluginRepositories>
          <pluginRepository>
              <id>qcloud-plugin-central</id>
              <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
              <snapshots>
                  <enabled>true</enabled>
              </snapshots>
              <releases>
                  <enabled>true</enabled>
              </releases>
          </pluginRepository>
      </pluginRepositories>
  </profile>
</profiles>

<activeProfiles>
  <activeProfile>nexus</activeProfile>
  <activeProfile>qcloud-repo</activeProfile>
</activeProfiles>

提供的示例中,<profiles> 中定义了两个 Profile:nexus 和 qcloud-repo,并在 <activeProfiles> 中激活了这两个 Profile。因此,当执行 Maven 构建时,Maven 将根据这些配置直接访问指定的仓库,而不需要使用镜像。

如果多个 Profile 被激活,且存在相同设置的冲突,Maven 将按照定义的顺序,使用最后一个激活的 Profile 中的配置。

另外,对于具体的项目,可以通过在项目的 pom.xml 文件中进行配置。

以下是一个 pom.xml 示例:

<project>
    ...
    <repositories>
        <repository>
            <id>central</id>
            <url>http://repo1.maven.org/maven2</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    ...
</project>

2. 配置代理

找到 <proxies> 标签。

<proxies>
  <proxy>
    <id>proxy-id</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxy.example.com</host>
    <port>8080</port>
    <!-- 如果需要代理验证,可以添加下面两行 -->
    <!-- <username>proxy-username</username> -->
    <!-- <password>proxy-password</password> -->
    <!-- 如果需要使用 HTTPS 代理,可以使用下面的配置 -->
    <!-- <protocol>https</protocol> -->
    <!-- <port>443</port> -->
  </proxy>
</proxies>

为了方便,这里提供以下 v2rayN 的具体配置。

<proxies>
  <!--代理信息-->
  <proxy>
    <id>myproxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>localhost</host>
    <port>10809</port>
    <!--不需要代理的主机列表-->
    <nonProxyHosts>localhost|127.0.0.1|maven.aliyun.com</nonProxyHosts>
  </proxy>
</proxies>

也可以在具体仓库使用代理:

<repositories>
  <repository>
    <id>myrepo</id>
    <url>http://repo.maven.apache.org/maven2</url>
    <proxy>
      <id>myproxy</id>  
    </proxy>
  </repository>
</repositories>

提醒:本文发布于424天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END