欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-06 16:06:07
...

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

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

在pom文件中配置nexus仓库

    <repositories>
      <!-- 配置nexus远程仓库 -->
      <repository>
         <id>nexus</id>
         <name>Nexus Snapshot Repository</name>
         <url>http://127.0.0.1:8088/nexus/content/groups/public/</url>
         <releases>
            <enabled>true</enabled>
         </releases>
         <snapshots>
           <enabled>false</enabled>
         </snapshots>
      </repository>
   </repositories>
   <!-- 配置从哪个仓库中下载构件,即jar包 -->
   <pluginRepositories>
       <pluginRepository>
         <id>nexus</id>
         <name>Nexus Snapshot Repository</name>
         <url>http://127.0.0.1:8088/nexus/content/groups/public/</url>
         <releases>
           <enabled>true</enabled>
         </releases>
         <snapshots>
           <enabled>false</enabled>
         </snapshots>
      </pluginRepository>
    </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仓库,如下所示:

  <profile>
      <id>development</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

注:

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

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

2、**profile

  <activeProfiles>
    <activeProfile>development</activeProfile>
  </activeProfiles>

3、配置镜像mirror

<mirrors>
    <mirror>
       <id>nexus</id>
       <mirrorOf>*</mirrorOf>
       <name>Nexus Mirror</name>
       <url>http://127.0.0.1:8088/content/groups/public/</url>
    </mirror>
</mirrors>

部署构件到nexus仓库

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

<distributionManagement>
	<repository>
		<id>archiva.releases</id>
		<name>Internal Releases</name>
		<url>http://127.0.0.1:8088/nexus/content/repositories/releases/</url>
	</repository>
	<snapshotRepository>
		<id>development</id>
		<name>Internal Snapshots</name>
		<url>http://127.0.0.1:8088/nexus/content/repositories/snapshots/</url>
	</snapshotRepository>
</distributionManagement>
2、在setting.xml文件中添加认证信息
<server>
   <id>development</id>
   <username>admin</username>
   <password>admin23</password>
</server>
<server>   
   <id> archiva.releases </id>   
   <username> admin </username>   
   <password>admin23</password>   
</server> 

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

3、执行部署

<dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>1.2.14</version>
</dependency>
4、在命令行中执行:mvn clean deploy

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

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

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