我无法通过Maven访问svn版本号。我从SCM使用页面收到的唯一真正帮助如下:
<scm>
<connection>scm:svn:http://somerepository.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
<tag>HEAD</tag>
<url>http://somerepository.com/view.cvs</url>
</scm>
这对我来说没有任何意义,因为我无法弄清楚什么是连接,developerConnection和url是什么意思。我只需将所有3个元素的url插入我的仓库。我也不知道为什么Maven没有问我存储库的用户名和密码。
我是Maven的新手,可能会问一个非常基本的问题,但我会非常感谢我如何访问svn repo。
答案 0 :(得分:1)
首先,我首先澄清 Maven 的使用情况,这似乎会导致您的情况混淆:
Apache Maven 是一个软件项目管理工具......可以管理项目的构建。
Apache Maven 与您的修订被推送到您的源代码管理系统(在您的情况下是 SVN )无关。
通常,您将通过IDE( Eclipse , IntelliJ IDEA 等)或通过命令行将更改推送到 SVN 存储库,以任何方式赢得通过 Maven 推送这些更改,在这种情况下,您将打破其使用目的。< / p>
现在问题是,为什么您可能需要那些与SCM相关的属性? 答案很简单,应该是相关的,因为 Maven 是一个项目构建工具,它必须处理你的项目发布周期,这是项目构建周期的最后一部分......它不会是由于您使用的是 SCM 远程存储库,因此无需更新远程项目信息即可以连贯的方式完成此任务。
现在回到那些与 SCM 相关的属性,它们是什么意思:
答案 1 :(得分:0)
SCM ( S oftware C onfiguration M 管理,也称为 S 源 C ode / C ontrol M 管理或简洁的版本控制)是任何健康项目的组成部分。如果您的Maven项目使用SCM系统(确实如此,不是吗?)那么您可以在此处将该信息放入POM中。
connection
,developerConnection
:这两个连接元素传达了如何通过Maven连接到版本控制系统。如果connection
需要Maven的读访问权才能找到源代码(例如,更新),developerConnection
需要一个能够提供写访问权限的连接。 Maven项目催生了另一个名为Maven SCM的项目,该项目为任何希望实现它的SCM创建了一个通用API。最受欢迎的是CVS和Subversion,但是,其他支持的SCM越来越多。所有SCM连接都是通过通用URL结构进行的。
scm:[provider]:[provider_specific]
提供者是SCM系统的类型。例如,连接到CVS存储库可能如下所示:
scm:svn:https://somerepository.com/svn_repo/trunk
tag
:指定此项目所在的标记。 HEAD(意思是SCM根目录)应该是默认值。
url
:可公开浏览的存储库。例如,通过ViewCVS。