Maven私服制定坐标并上传本地jar包

Upload Maven Nexus

Maven私服上传jar包的事情,首先要有Maven私服的管理员账号,输入Maven私服地址,然后登录管理员账号,做如下事情:

Maven私服管理员账号登录,并开始上传本地jar包 上传本地jar包(一定要勾选Generate a POM file with these coordinates,否则IDE中pom文件拉取不下来私服依赖!)

配置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)

执行maven指令

为你踩坑

比如: 同事将其他服务调用的jar包上传至私服,而你还引用调用了此jar包,Pull项目之后由于你引用的jar包不是最新的,所以报错了。此时,你打算使用maven 的clean和compile重新编译生成target,但是maven拉取这个jar包的时候回报错,甚至拉取下来的永远是旧版本的那一个!!!

原因: 由于你拉取过这个jar包,jar包肯定在你的本地仓库,同时更新了私服jar包,但是你重新编译拉取jar包的时候还是从你的本地仓库去拉取的,这就导致拉取不到最新的jar包和maven报错的原因!

解决: 找到那个jar包在你本地仓库的位置,删除掉,重新拉取私服中最新的即可完美解决!

经验分享 程序员 微信小程序 职场和发展