nexus 的使用及maven的配置

时间:2023-03-09 00:17:56
nexus 的使用及maven的配置

一、nexus的安装

1.下载nexus(点解这里)

2.下载后解压文件,将解压后的nexus文件放在你自己想要的地方

3.配置环境变量(和配置java的环境变量一样)

nexus 的使用及maven的配置

nexus 的使用及maven的配置

4.安装和启动nexus

nexus 的使用及maven的配置

由于我已经安装和启动过nexus,所以有错误信息提示

5.启动成功后,在浏览器输入http://localhost:8081/nexus/就会进入nexus的操作界面

nexus 的使用及maven的配置

我们也可以在conf/nexus.properties修改端口

nexus 的使用及maven的配置

6.用admin登录成功后,可以看到如下界面

nexus 的使用及maven的配置

我们可以看见type有多重类型,这里我们介绍三种:

  • hosted,本地仓库(也叫宿主仓库),通常我们会部署自己的构件到这一类型的仓库或则是第三方的包(如:oracel的)。
  • proxy,代理仓库,它们被用来代理远程的公共仓库,如maven*仓库。
  • group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。

二、使用nexus的管理界面上传jar包

nexus 的使用及maven的配置

三、创建自己的私有仓库

nexus 的使用及maven的配置

nexus 的使用及maven的配置

四、创建权限

nexus 的使用及maven的配置

五、创建角色

nexus 的使用及maven的配置nexus 的使用及maven的配置

nexus 的使用及maven的配置

五、创建用户

nexus 的使用及maven的配置nexus 的使用及maven的配置nexus 的使用及maven的配置

六、关联自己的私有仓库

1.在settings.xml文件中添加镜像文件关联

  <mirrors>
<mirror>
<id>nexus-releases</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>nexus-snapshots</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/nexus/content/repositories/apache-snapshots/</url>
</mirror>
</mirrors>

2.在settings.xml文件中设置profile

  </profiles>
  <profile>
<id>nexusTest</id>
<repositories>
<repository>
<id>local-nexus</id>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>

  <activeProfiles> <!--激活id为nexusTest的profile-->
    <activeProfile>nexusTest</activeProfile>
  </activeProfiles>

七、发布自己的快照版本到私有仓库

这里我们测试将的nexusTest.jar发布到myRepository仓库中

1.在pom.xml中添加

<distributionManagement>
<!--自己创建的库-->
<repository>
<id>myReposioryT</id><!--这里的id与角色中配置的id要一致-->
<name>my test reposiory</name>
<url> http://localhost:8081/nexus/content/repositories/myRepository</url>
</repository>
<!--snapshots库-->
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
<!--<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>
</repository>
-->
</distributionManagement>

1.在settings.xml文件中添加

    <servers>
<server>
<id>myReposioryT</id> <!-- 这里的id要与pom.xml中的一致 表示使用该账号上传jar到自己建立的my test reposiory仓库中-->
<username>testAdmin</username>
<password></password>
</server>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

使用maven的package deploy 命令就可以将自己的项目打成jar包发布到自己的私有仓库。

注意,要发布jar包,需要将修改 <packaging>war</packaging>为 <packaging>jar</packaging>

附录:

1.如果使用idea,则有很好的工具帮我们操作

nexus 的使用及maven的配置

2.如果我们版本号后面有后最SNAPSHOT,如<version>1.1-SNAPSHOT</version>

我们即使是发布到release版本,nexus还是会自动认为是snapshot版本。处理的方式有两种。

2.1直接去掉版本号后面的SNAPSHOT后缀,如:<version>1.1</version>

2.2使用如下配置

//头部版本号的配置
<version>${project.release.version}</version> //添加properties
<properties>
<project.release.version>1.1-SNAPSHOT</project.release.version>
</properties> <profiles>
<profile>
<id>myRelease</id> <!--id自己随便取 使用mvn命令发布的时候要使用到这个id-->
<properties>
<project.release.version>1.1</project.release.version>
</properties>
</profile>
</profiles>

发布的时候使用命令 mvn deploy -P myRelease  (myRelease是profile取得id值)

这样发布的时候会使用我们在profile中定义的properties中的变量值去替换<version></version>中的值