如何使用 maven 从 subversion 导出项目?

Posted

技术标签:

【中文标题】如何使用 maven 从 subversion 导出项目?【英文标题】:How to use maven to export a project from subversion? 【发布时间】:2008-10-30 22:09:13 【问题描述】:

Maven 有一个名为maven-scm-plugin 的插件,它可以与源代码控制系统进行交互。根据文档,我应该能够像这样导出项目:

mvn scm:export -DconnectionUrl=scm:svn:svn://url... -DexportDirectory=./project-export

但是,当我使用 maven 2.0.9 运行此命令时,我从 maven 收到以下错误:

[INFO] Required goal not found: scm:export in org.apache.maven.plugins:maven-scm-plugin:1.0-beta-3

所以插件的 beta-3 版本似乎没有“导出”目标,但它是在 1.1 中添加的。我的 maven repo (.m2\repository\org\apache\maven\plugins\maven-scm-plugin) 中确实有这两个版本,但是 maven 坚持使用旧的 beta 版本,当找不到“出口”目标。如何强制 maven 使用 1.1 版本的 scm 插件? mvn scm:export 命令是独立使用的,所以没有需要配置的 POM 文件。谢谢!

【问题讨论】:

【参考方案1】:

自己找到了解决办法。在插件目录(.m2\repository\org\apache\maven\plugins\maven-scm-plugin)中有一个文件叫maven-metadata-central.xml。我曾经将“1.0-beta-3”作为“最新”和“发布”元素的值,这就是 maven 坚持使用这个旧版本的原因。在我将它们更改为 1.1 后,我能够运行该命令。

【讨论】:

严格来说,这不是正确的做法。我知道它有效,但这样做,您正在更改与您的存储库关联的元数据。更好的方法是指定插件的确切版本:mvn org.apache.maven.plugins:maven-scm-plugin:1.1:export etc

以上是关于如何使用 maven 从 subversion 导出项目?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Bamboo 构建定义父 POM 的 Subversion/Maven 项目

从git拉maven项目导包失败的总结

IDEA 不能正常导包

怎么让subversion忽略指定文件和目录

怎么让subversion忽略指定文件和目录

从控制台使用 Subversion 时如何保存密码