Maven 将 jar 包上传到私服 nexus

分享
手机软件开发 2024-9-14 09:04:09 96 0 来自 中国
一、<distributionManagement>

1.1、<distributionManagement>的作用:负责管理构件的发布,这是一个环境变量。


  • <downloadUrl> URL </downloadUrl>:别的的Maven项目可以通过该URL下载并引用当前Maven项目标构件。
  • <status>:当前Maven项目标状态,可用的状态有以下几种,而且这个值不是人为设置的。而是Maven自动设置的。

    • none:未指明状态,默认值
    • converted:该Maven项目标构件已经被转换为兼容Maven 2
    • partner:该Maven项目标构件保持与另一个库的Maven版本划一
    • deployed:该Maven项目标构件是通过Maven 2或Maven 3发布的,最常用的值
    • verified:该Maven项目标构件已经被验证过

1.2、<distributionManagement>中的<repository>


  • <uniqueVersion>:指定是否产生一个唯一性的version number还是利用address里的此中version部分。(true or false)
  • <id>:库的id
  • <name>:库的名称
  • <url>:库的url
  • <layout>:default大概legacy
1.3、<distributionManagement> 中的 <repository> && <snapshotsrepository>各自的寄义


  • maven堆栈分为两种 release发布堆栈(<repository>) 和 snapshot快照堆栈(<snapshotsrepository>)
  • snapshot快照堆栈用于生存开辟过程中的不稳固版本
  • release正式堆栈用来生存稳固的发行版本
  • 界说一个组件/模块为快照版本  只必要在pom文件中的该模板的版本号后面加上 -SNAPSHOT就可以了.  留意:必须是大写
  • maven会根据模块的版本号(pom文件中的<version>版本号</version>)中是否带有-SNAPSHOT来判断这个是快照版本还是正式版本。
  • 如果是快照版本
  • 在mvn deploy时会自动发布到快照版本库中。
  • 而利用快照版本的模块,在不更改版本号的环境下,直接编译打包时,maven会自动从镜像服务器上下载最新的快照版本。
  • 如果是正式发布版本
  • 那么在mvn deploy时会自动发布到正式版本库中。
  • 而利用正式版本的模块,在不更改版本号的环境下,编译打包时,如果当地已经存在该版本的模块则利用当地的而不是自动去镜像服务器上下载。
二、将 jar 包上传到私服 nexus

nexus 私服搭建这里就不先容了,没搭建过的朋侪可以参考
windows 环境搭建:https://blog.csdn.net/wsjzzcbq/article/details/89071625
笔者这里已经搭建完成,nexus 私服所在是:http://192.168.0.140:8082/,下面会用到
2.1、配置 settings.xml 文件

在当地 maven 的 settings.xml 文件中,<servers> 标签下添加 server 配置
<server>    <id>wsjz-releases</id>    <username>admin</username>    <password>admin123</password></server><server>    <id>wsjz-snapshots</id>    <username>admin</username>    <password>admin123</password></server>

  • username 和 password 是私服 nexus 的
  • id 是随意定名的,但要和下面利用的地方保持划一
2.2、配置上传的资源库所在

给必要上传到私服的项目,添加资源库所在
<distributionManagement>    <repository>        <id>wsjz-releases</id>        <name>Releases Repository</name>        <url>http://192.168.0.140:8082/repository/maven-releases/</url>    </repository>    <snapshotRepository>        <id>wsjz-snapshots</id>        <name>Snapshot Repository</name>        <url>http://192.168.0.140:8082/repository/maven-snapshots/</url>    </snapshotRepository></distributionManagement>

  • 这里的 id 要和上面的 server 的 id 保持划一
  • name 随意写
  • url 所在是 nexus 私服上的 maven-releases 和 maven-snapshots 的所在,可以登录 nexus 私服copy
2.3、上传测试


  • 新建 maven 项目


  • 在 pom 文件中添加上面的资源库所在
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.wsjz</groupId>  <artifactId>maven-project-learn</artifactId>  <version>0.0.1-SNAPSHOT</version>    <distributionManagement>    <repository>        <id>wsjz-releases</id>        <name>Releases Repository</name>        <url>http://192.168.0.140:8082/repository/maven-releases/</url>    </repository>    <snapshotRepository>        <id>wsjz-snapshots</id>        <name>Snapshot Repository</name>        <url>http://192.168.0.140:8082/repository/maven-snapshots/</url>    </snapshotRepository>  </distributionManagement></project>

  • 在项目根目次打开控制台

    3.png
2.3.1、上传到 maven-snapshots(快照库)

实验下令  mvn deploy  将当前SNAPSHOT(快照版)上传到私服 maven-snapshots
mvn deploy登录私服查察
5.gif 快照版上传乐成
2.3.2、上传到 maven-releases(发布库)

修改项目版本为 0.0.1

6.png 实验下令 mvn deploy
mvn deploy登录私服查察
发布版上传乐成
登录私服利用web管理界面直接上传

2.4、下载上传到私服的 jar 包

下载上传到私服的 jar 包
新建 maven 项目
在 pom.xml 文件中添加资源库配置
<repositories>    <repository>        <id>senyue</id>        <name>senyue respository</name>        <url>http://192.168.0.140:8082/repository/maven-public/</url>    </repository></repositories>添加已上传到私服的依靠
<dependency>    <groupId>com.wsjz</groupId>    <artifactId>maven-project-learn</artifactId>    <version>0.0.1</version></dependency>更新 maven 项目下载依靠
查察是否下载乐成
已乐成下载
至此完
参考:
https://blog.csdn.net/yeguxin/article/details/77110622
https://blog.csdn.net/wsjzzcbq/article/details/124048283
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-19 06:24, Processed in 0.186788 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表