配置Maven从私服下载构件

来源:互联网 发布:上帝已死 知乎 编辑:程序博客网 时间:2024/05/29 17:01

--------------------siwuxie095

  

  

  

  

  

  

  

  

  

配置 Maven 从私服下载构件

  

  

从 Nexus 私服下载构件的配置方法共有三种

  

1法一

  

在 pom.xml 的project 标签中添加如下内容

  

<repositories>

<repository>

 

<id>nexus</id>

<name>Nexus</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

 

<releases>

<enabled>true</enabled>

</releases>

 

<snapshots>

<enabled>true</enabled>

</snapshots>

 

</repository>

</repositories>

 

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

 

<pluginRepositories>

<pluginRepository>

 

<id>nexus</id>

<name>Nexus</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

 

<releases>

<enabled>true</enabled>

</releases>

 

<snapshots>

<enabled>true</enabled>

</snapshots>

 

</pluginRepository>

</pluginRepositories>

  

注:分别配置仓库和插件仓库

  

  

  

  

2法二

  

1)在 settings.xml 的profiles 标签中添加如下内容

  

<profile>

 

<id>nexus</id>

  

<repositories>

<repository>

  

<id>nexus</id>

<name>Nexus</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

 

<releases>

<enabled>true</enabled>

</releases>

 

<snapshots>

<enabled>true</enabled>

</snapshots>

  

</repository>

</repositories>

  

<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

  

<pluginRepositories>

<pluginRepository>

  

<id>nexus</id>

<name>Nexus</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

  

<releases>

<enabled>true</enabled>

</releases>

 

<snapshots>

<enabled>true</enabled>

</snapshots>

  

</pluginRepository>

</pluginRepositories>

  

</profile>

  

注:使用 id 为nexus 的 profile 分别配置仓库和插件仓库

  

  

  

2)在 settings.xml 的activeProfiles 标签中添加如下内容

  

<activeProfile>nexus</activeProfile>

  

注:将 id 为 nexus 的 profile激活

  

  

  

  

3法三(建议):

  

1)在 settings.xml 的mirrors 标签中添加如下内容

  

<mirror>

<id>nexus</id>

<name>Nexus</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

<mirrorOf>*</mirrorOf>

</mirror>

  

注:配置一个匹配任何仓库的镜像,其地址为 Nexus 私服

  

  

  

2)在 settings.xml 的profiles 标签中添加如下内容

  

<profile>

 

<id>nexus</id>

  

<repositories>

<repository>

  

<id>central</id>

<name>Central</name>

<url>http://central</url>

 

<releases>

<enabled>true</enabled>

</releases>

 

<snapshots>

<enabled>true</enabled>

</snapshots>

  

</repository>

</repositories>

  

<!-- ++++++++++++++++++++++++++ -->

  

<pluginRepositories>

<pluginRepository>

  

<id>central</id>

<name>Central</name>

<url>http://central</url>

  

<releases>

<enabled>true</enabled>

</releases>

 

<snapshots>

<enabled>true</enabled>

</snapshots>

  

</pluginRepository>

</pluginRepositories>

  

</profile>

  

注:使用 id 为nexus 的 profile 分别配置仓库和插件仓库,

但仓库和插件仓库的 id 都为central,这将覆盖超级 POM

中央仓库的配置,而 url 已无关紧要,因为所有的请求都会

通过镜像访问私服地址

  

配置仓库和插件仓库的主要目的是开启对快照版本构件下载

的支持

  

  

  

3)在 settings.xml 的activeProfiles 标签中添加如下内容

  

<activeProfile>nexus</activeProfile>

  

注:将 id 为 nexus 的 profile激活

  

  

  

  

  

附:

  

法一

针对当前 Maven 项目

法二

针对所有 Maven 项目

法三

针对所有 Maven 项目

  

  

法二和法三虽然都可以一劳永逸,但法二除了从 Nexus 私服

下载构件之外,还会不时访问中央仓库

  

我们希望的是所有 Maven 下载请求都仅仅通过 Nexus 私服,

以全面发挥私服的作用,而法三刚好做到了这点

  

  

  

  

  

  

  

  

  

  

【made by siwuxie095】