Bootstrap

maven 指令之package 和install的区别

maven package 和 install 区别

原创 2016年08月18日 14:55:26

1.install:打包好的 jar 包会安装到本地的 maven 仓库中,使用的配置是默认的配置,供其他项目使用
2.package 指定参数打包:clean package -Dmaven.test.skip=true -Pprod 这种方式就是指定了打包的参数,并且打包后的文件存放到项目的 target 目录下。


之前一直不明白package与  install的区别,今天测试了下。

 如果b项目依赖a项目,而a打了包(package),jar仅仅时打到了a项目的target下。这时编译b项目,还是会报错,找不到所依赖的a项目,说明b项目在本地仓库是没有找到它所依赖的a项目。然后,我install a项目这时,有以下日志,[INFO] Installing G:\projects\a\target\a-0.0.1-SNAPSHOT.jar to F:\repository\com\chenjun\a\0.0.1-SNAPSHOT\a-0.0.1-SNAPSHOT.jar
[INFO] Installing G:\projects\a\pom.xml to F:\repository\com\chenjun\a\0.0.1-SNAPSHOT\a-0.0.1-SNAPSHOT.pom,说明a项目已安装到本地仓库了,并且是jar和pom同时安装的.

这时候再去compile(编译)b项目,b编译通过.这是因为a项目的jar包打包后通过install指令安装到了本地maven库下了,b项目再次编译后就可以在本地maven库上找到且引用到他需要依赖的a项目jar包了(因为刚才a项目已经通过install指令安装到maven本地库内了)


总之,package是把jar打到本项目的target下,而install时把target下的jar安装到本地仓库,供其他项目使用.


;