pom.xml scm连接字符串的语法

时间:2016-02-27 19:28:15

标签: maven github pom.xml maven-scm

我正在清理项目中的pom文件,并发现我使用了两个略有不同的scm记录:

<scm>
    <connection>scm:git:https://github.com/jadler-mocking/jadler.git</connection>
    <developerConnection>scm:git:https://github.com/jadler-mocking/jadler.git</developerConnection>
    <url>https://github.com/jadler-mocking/jadler</url>
</scm>

VS

<scm>
    <connection>scm:git:git@github.com:jadler-mocking/jadler.git</connection>
    <developerConnection>scm:git:git@github.com:jadler-mocking/jadler.git</developerConnection>
    <url>https://github.com/jadler-mocking/jadler</url>
</scm>

到目前为止,我还没有找到任何描述连接字符串语法的资源。这两者有什么区别?

1 个答案:

答案 0 :(得分:4)

两者都是有效的SCM URL,它们将具有完全相同的结果。唯一的区别在于与Git服务器的通信实现(是HTTPS还是HTTP等)。

the Maven SCM Git implementation开始,所有这些网址都有效:

scm:git:git://server_name[:port]/path_to_repository
scm:git:http://server_name[:port]/path_to_repository
scm:git:https://server_name[:port]/path_to_repository
scm:git:ssh://server_name[:port]/path_to_repository
scm:git:file://[hostname]/path_to_repository

请注意,您可以借助scm:validate目标验证您的SCM信息是否正确:

  

验证scm连接字符串。

可以在the Maven docs

中找到SCM连接字符串的参考格式
  

所有SCM连接都是通过通用的URL结构进行的。

scm:[provider]:[provider_specific]
     

提供者是SCM系统的类型。