maven的package与install命令区别
maven项目管理工具,集成了打包功能(生成jar包)
mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar
package(依赖的jar包会在本地仓库生成,本项目的jar包没有在本地仓库生成)
install本项目jar包会在本地仓库生成
package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库
java启动jar包
java -jar myjar.jar
clean清除target下文件
resources下载jar包
compile编译,生成class文件 源程序编译成 class 字节码文件
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私服仓库
本项目的pom配置,会把依赖的jar包也打到目标jar包里面
若发现mvn install失败,找到更新失败的那个包,直接删掉,继续执行mvn install,有可能
是网络问题导致的mvn更新失败
-U 强制远程更新,否则默认每天只更新一次
比如-D的使用:mvn package -Dmaven.test.skip=true,即打包的时候跳过单元测试,
install、deplay命令都可以使用。
mvn install -U -DskipTests
java -jar aaa.jar 运行jar包