Maven如何在不下载整个主干的情况下下载SVN子项目的所有依赖项?
我正在下载SVN的一个maven项目。这个项目是一个更大项目的一部分 当我安装该POM的mvn时,我会因为没有POM父级而出错 如何让maven下载POM所需的所有依赖项,而不必下载整个项目主干 编辑Maven如何在不下载整个主干的情况下下载SVN子项目的所有依赖项?,svn,maven,Svn,Maven,我正在下载SVN的一个maven项目。这个项目是一个更大项目的一部分 当我安装该POM的mvn时,我会因为没有POM父级而出错 如何让maven下载POM所需的所有依赖项,而不必下载整个项目主干 编辑 例如,我想下载、编译并运行示例:在构建阶段,Maven对版本控制系统一无所知。因此,必须有人将所有必需的依赖项(包括所有父POM)安装到本地/团队Maven存储库中 如果没有这样的存储库,那么您将不得不签出整个内容,并自行安装mvn。在此之后,您可以删除它并使用一个模块,前提是项目的其余部分不会改
例如,我想下载、编译并运行示例:在构建阶段,Maven对版本控制系统一无所知。因此,必须有人将所有必需的依赖项(包括所有父POM)安装到本地/团队Maven存储库中
如果没有这样的存储库,那么您将不得不签出整个内容,并自行安装mvn。在此之后,您可以删除它并使用一个模块,前提是项目的其余部分不会改变。@eskalera,SCM插件只是提供了可以从中下载源代码的repo。在我们的情况下,是后备箱。下载完成后,将继续构建。SCM插件对pom在构建过程中所需的依赖项没有任何概念。它只能查看目标回购协议
唯一的方法是下载整个主干,这将解决您的所有依赖性问题,并按照maba的建议,删除不太可能更改的源代码。是的,我希望Maven这样做。但是Maven不能用svn URL跟踪POM父母并只下载我的有效POM吗?@eskalera不,不行。Subversion只是一个源存储库,而maven使用二进制存储库,如Artifactory和其他。它们可以结合下载pom父存储库和存储库。Maven SCM插件不是这样做的吗?@maba这就是我的意思。SVN可以指出pom的位置,maven将下载efecctive pom。我不敢相信没有这样的东西存在。我在答案中补充了关于版本控制系统的说明。正如@maba指出的,Maven使用的源存储库和工件存储库是不同的。开始从源存储库获取随机源是个坏主意,因为这会破坏构建的可复制性。