我认为应该有一些不同,但是有人可以告诉我细节吗?
答案 0 :(得分:23)
mvn:install
将打包的Maven模块复制到本地存储库(默认情况下,在~/.m2/repository
中),以供其他本地Maven构建访问。
mvn:deploy
将打包的Maven模块上传到另一个(通常是远程的)存储库,以供其他(不一定是本地的)Maven构建访问。
有关详细信息,请参阅documentation for the build lifecycle。
答案 1 :(得分:2)
install
阶段负责将工件安装到本地缓存存储库中。这基本上适用于Maven存储库,但一个着名的例子也是 maven-bundle-plugin 支持的OSGi Bundle存储库。
deploy
阶段负责将工件安装到已发布的存储库中。这通常适用于远程存储库,但可能完全是暴露给外部世界的本地存储库。
正如所有Maven阶段一样,你可以随心所欲地做任何事情。您可以根据需要随机播放插件阶段,但上述语义是常规语义,您应该坚持使用它以便与其他插件的默认阶段保持一致。目标
答案 2 :(得分:1)
mvn:deploy
执行部署到远程存储库/环境,mvn:install
将所有已编译的软件包安装到本地存储库,使其可用于在本地计算机上执行的其他构建。
答案 3 :(得分:0)
用一句话:mvn:install
在您的本地Maven存储库中编译和安装您的组件,以便在本地使用和开发的其他组件依赖它时可以使用它。 mvn:deploy
将您(以前安装的)组件部署到远程存储库。