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是可以被覆盖的

浙公网安备 33010602011771号