我正在尝试理解关于maven的一些概念。这是我的情景: 几乎每次我部署一个项目,即Cloudstack我输入:
mvn install
我遇到了一些失败,例如无法连接到某些存储库或某些测试失败了。我不明白为什么如果最近下载了代码,某些测试可能会失败。
我的想法是创建一个本地服务器存储库,这样maven就不会连接到远程服务器,而是连接到与应用程序所需的软件包在同一网络中的服务器。
有可能吗?或者这些问题是由其他原因产生的吗?
答案 0 :(得分:1)
请参阅Maven, Introduction to Repositories:
严格来说,只有两种类型的存储库:本地存储库和远程存储库。本地存储库是指您自己的安装上的副本,它是远程下载的缓存,还包含您尚未发布的临时构建工件。
远程存储库引用任何其他类型的存储库,[...]。这些存储库可能是由第三方设置的真正远程存储库,用于提供下载工件[...]。其他“远程”存储库可以是在公司内的文件或HTTP服务器上设置的内部存储库,用于在开发团队和发布之间共享私有工件。
mvn install
不会部署您项目的工件(至少不是Maven的deploy
意义上的,请参阅Introduction to the Build Lifecycle)。它确实:
将软件包安装到本地存储库中,以便在本地其他项目中用作依赖项
而mvn deploy
是:
在集成或发布环境中完成,将最终包复制到远程存储库以与其他开发人员和项目共享
“无法连接到某些存储库”和“某些测试失败”是两种不同的错误。如果没有构建输出的任何相关部分,就不可能更多地说出这些内容。