maven从nexus下载依赖

maven的安装就不再多说了,从官网下载二进制包,然后解压,配置一下环境变量就可以了。

以我安装的为例,maven解压在/usr/local/apache-maven-3.6.2 目录下

 maven的二进制文件就在bin下,配置文件 在conf下,用的比较多的也就这两个目录,其它的不用管。

这里重点介绍maven的配置文件,在conf下,settings.xml。

1. 配置从私服nexus的仓库下载依赖包

vim  settings.xml

<mirrors>
    <mirror>
        <id>maven-nexus</id>  # 这个名字要和server中的以及项目工程的id保持一致
        <mirrorOf>*</mirrorOf>
        <name>nexus仓库</name>
        <url>http://192.168.10.10:8081/repository/maven-public</url>
    </mirror>
  </mirrors>

如果设置了仓库可以匿名访问的话,到这一步就配置好了。但是,处于安全考虑,我们通常不会开启匿名访问,所以还需要配置用户名密码,这里演示一下如何配置用户名和密码

继续编辑settings.xml文件

找到servers标签

<servers>
  <server>
    <id>maven-nexus</id>   # 这个id和mirrors中的id保持一样就好了
    <username>admin</username>
    <password>admin</password>
  </server>
</servers>

到这里,就可以从私服仓库下载依赖包了 。

2. nexus上传快照版

上面讲了怎么从私服仓库下载依赖。现在再说一下怎么把jar上传到私服仓库

首先,打开项目的pom.xml文件

注意下面的配置在project标签中添加
<distributionManagement> <snapshotRepository> <id>maven-nexus</id> # 这个id还是maven配置中私服仓库配置的id <url>http://localhost:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>

这里配置的是向快照仓库上传。注意:快照版的jar包要配置快照版的地址

发布命令

mvn  clean  deploy

3. nexus上传正式版

上传正式版的jar包的话,需要配置一下release版本的仓库。需要说明一下,maven是根据工程的pom.xml文件中,version是否包含SNAPSHOT来判断是快照版还是正式版

例如:

<groupId>net.geekhour</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0.0</version>   # 这个就是正式版
<packaging>jar</packaging>

 

<distributionManagement>
    <!--release仓库-->
<repository> <id>maven-nexus</id> <url>http://localhost:8081/repository/maven-releases/</url> </repository>
<!--快照仓库--> <snapshotRepository> <id>maven-nexus</id> <url>http://localhost:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>

然后执行发布

mvn  clean deploy

正式版本的jar包,在发布之后,是不能被覆盖的。也就是说,如果正式仓库有某个jar包,再发布的时候会报错 

快照版本的jar是可以被覆盖的

 

posted @ 2025-05-16 17:56  羊脂玉净瓶  阅读(59)  评论(0)    收藏  举报