Maven私服制定坐标并上传本地jar包
Upload Maven Nexus
Maven私服上传jar包的事情,首先要有Maven私服的管理员账号,输入Maven私服地址,然后登录管理员账号,做如下事情:
配置Maven Setting.xml文件
使用Maven拉取私服依赖的时候,要先确定一下,是否配置了私服仓库的一些配置。如果没有配置可以找公司同事要一下配置文件,如果是自己搭建的私服那就更方便了,自己配置一下就好了!
配置好后,直接IDEA中刷新Maven,或者compile编译就可以拉取依赖了!
将IDEA项目打包上传至私服
pom.xml文件设置(使用pom的父项目管理配置私服信息)
// .......省略了pom其他信息
// 配置需要打包的微服务
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.xxx</groupId>
<artifactId>xxx</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.ooo</groupId>
<artifactId>ooo</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 私服上传jar包使用 -->
<distributionManagement>
<repository>
<id>nexus-xxx</id>
<name>xxx</name>
<url>http://私服地址</url>
</repository>
<snapshotRepository>
<id>nexus-ooo</id>
<name>ooo</name>
<url>http://私服仓库地址</url>
</snapshotRepository>
</distributionManagement>
// .......省略了pom其他信息
上面我们配置了xxx微服务和ooo微服务需要打包上传至私服,需要在这两个微服务的pom文件中添加maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
执行maven指令(deploy)
为你踩坑
比如: 同事将其他服务调用的jar包上传至私服,而你还引用调用了此jar包,Pull项目之后由于你引用的jar包不是最新的,所以报错了。此时,你打算使用maven 的clean和compile重新编译生成target,但是maven拉取这个jar包的时候回报错,甚至拉取下来的永远是旧版本的那一个!!!
原因: 由于你拉取过这个jar包,jar包肯定在你的本地仓库,同时更新了私服jar包,但是你重新编译拉取jar包的时候还是从你的本地仓库去拉取的,这就导致拉取不到最新的jar包和maven报错的原因!
解决: 找到那个jar包在你本地仓库的位置,删除掉,重新拉取私服中最新的即可完美解决!
