maven项目中pom文件配置nexus仓库

在上一章节中,重点介绍了如何搭建nexus,搭建成功之后关键在于如何运用到项目中,下面将结合实际项目做简单介绍。

windows下搭建nexus仓库:http://blog.csdn.net/hh12211221/article/details/74010609

在pom文件中配置nexus仓库

[html]  view plain  copy
  1.     <repositories>  
  2.       <!-- 配置nexus远程仓库 -->  
  3.       <repository>  
  4.          <id>nexus</id>  
  5.          <name>Nexus Snapshot Repository</name>  
  6.          <url>http://127.0.0.1:8088/nexus/content/groups/public/</url>  
  7.          <releases>  
  8.             <enabled>true</enabled>  
  9.          </releases>  
  10.          <snapshots>  
  11.            <enabled>false</enabled>  
  12.          </snapshots>  
  13.       </repository>  
  14.    </repositories>  
  15.    <!-- 配置从哪个仓库中下载构件,即jar包 -->  
  16.    <pluginRepositories>  
  17.        <pluginRepository>  
  18.          <id>nexus</id>  
  19.          <name>Nexus Snapshot Repository</name>  
  20.          <url>http://127.0.0.1:8088/nexus/content/groups/public/</url>  
  21.          <releases>  
  22.            <enabled>true</enabled>  
  23.          </releases>  
  24.          <snapshots>  
  25.            <enabled>false</enabled>  
  26.          </snapshots>  
  27.       </pluginRepository>  
  28.     </pluginRepositories>  
      以上在pom文件中的配置仅对当前项目有效,但若需在其他项目中使用,为避免代码重复性,减少冗余,可在settings.xml文件中配置。在setting.xml文件中不存在repositories、pluginRepositories标签,而选择使用profile,具体配置可参考一下代码。

配置setting.xml文件

setting.xml文件的位置:../apache-maven-3.3.3/conf/setting.xml。

1、在setting.xml文件中配置nexus仓库,如下所示:

[html]  view plain  copy
  1. <profile>  
  2.     <id>development</id>  
  3.     <repositories>  
  4.       <repository>  
  5.         <id>central</id>  
  6.         <url>http://central</url>  
  7.         <releases><enabled>true</enabled></releases>  
  8.         <snapshots><enabled>true</enabled></snapshots>  
  9.       </repository>  
  10.     </repositories>  
  11.    <pluginRepositories>  
  12.       <pluginRepository>  
  13.         <id>central</id>  
  14.         <url>http://central</url>  
  15.         <releases><enabled>true</enabled></releases>  
  16.         <snapshots><enabled>true</enabled></snapshots>  
  17.       </pluginRepository>  
  18.     </pluginRepositories>  
  19.   </profile>  
  20. </profiles>  

注:

     在配置远程仓库时,中央仓库的id为central,远程url地址为http://repo.maven.apache.org/maven2。

    在setting.xml中配置nexus仓库主要考虑到这样的情侣:若在一个公司内部,同时进行多个项目,随之这几个项目都相继结束,而越来越多的项目会开始,为避免在每一个项目中都配置相同的配置文件,所以我们提供一个统一的仓库,供所有项目使用,这样就可以提高代码的复用性,避免做没有必要的无用功!

2、激活profile

[html]  view plain  copy
  1. <activeProfiles>  
  2.   <activeProfile>development</activeProfile>  
  3. </activeProfiles>  

3、配置镜像mirror

[html]  view plain  copy
  1. <mirrors>  
  2.     <mirror>  
  3.        <id>nexus</id>  
  4.        <mirrorOf>*</mirrorOf>  
  5.        <name>Nexus Mirror</name>  
  6.        <url>http://127.0.0.1:8088/content/groups/public/</url>  
  7.     </mirror>  
  8. </mirrors>  

部署构件到nexus仓库

1、在pom文件中添加如下配置

[html]  view plain  copy
  1. <distributionManagement>  
  2.     <repository>  
  3.         <id>archiva.releases</id>  
  4.         <name>Internal Releases</name>  
  5.         <url>http://127.0.0.1:8088/nexus/content/repositories/releases/</url>  
  6.     </repository>  
  7.     <snapshotRepository>  
  8.         <id>development</id>  
  9.         <name>Internal Snapshots</name>  
  10.         <url>http://127.0.0.1:8088/nexus/content/repositories/snapshots/</url>  
  11.     </snapshotRepository>  
  12. </distributionManagement>  
2、在setting.xml文件中添加认证信息
[html]  view plain  copy
  1. <server>  
  2.    <id>development</id>  
  3.    <username>admin</username>  
  4.    <password>admin23</password>  
  5. </server>  
  6. <server>     
  7.    <id> archiva.releases </id>     
  8.    <username> admin </username>     
  9.    <password>admin23</password>     
  10. </server>   

    nexus仓库默认用户名:admin;密码:admin123

3、执行部署

[html]  view plain  copy
  1. <dependency>  
  2.      <groupId>log4j</groupId>  
  3.      <artifactId>log4j</artifactId>  
  4.      <version>1.2.14</version>  
  5. </dependency>  
4、在命令行中执行: mvn clean deploy

      如果之前没用执行过该命令,maven会自动到中央仓库中下载部署所需的插件。最后在命令行中看到如下所示就代表构件已经部署成功。

      

      到nexus的releases仓库中即可查看刚刚部署好的构件信息。

猜你喜欢

转载自blog.csdn.net/u011666411/article/details/80081751