前几天在commons-tool工程下新建了几个日期相关的公共方法,本地测试没有问题,但到了小伙伴的电脑上,我新加的公共方法报错,原因是没有把commons-tool工程打包推上远程仓库。老大叫我推一下到远程仓库,啊?推远程仓库?怎么推?我先表面上答应着,回到自己位置上“面向百度编程”一顿操作。记录一下:
1.配置pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
.....
<distributionManagement>
<repository>
<id>releases</id>
<name>Releases</name>
<url>http://xxx:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshot</name>
<url>http://xxx:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
2.配置Maven的setting.xml
在servers节点下为每个仓库名配置用户名和密码---releases,snapshots。注意,id要和pom.xml配置的id一致
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>XXXX</password>
</server>
<server>
<id>snapshots</id>
<username>snap</username>
<password>XXXX</password>
</server>
</servers>
3.maven clean deploy打包并推送到远程仓库
mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
由上面的分析可知主要区别如下,
package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
参考大佬博客:maven命令package、install、deploy的区别
完~