git - Maven 对 Git 上托管的存储库的依赖

标签 git maven ssh

我们在我们自己的 git(不是 Github)存储库内部托管一个 Maven 存储库。 git 克隆工作正常:

git clone ssh://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b9ded0cdf9dad6c0d6cddc97d8dad4dc97dad6d4" rel="noreferrer noopener nofollow">[email protected]</a>/home/git/acme-mvn-repo.git

所以我们知道 ssh key 设置正确。

我们有一个项目依赖于上面的 Maven 存储库中托管的 Artifact 。为此,pom.xml 包括:

<repository>
    <id>acme-repo</id>
    <url>ssh://<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="ee89879aae8d8197819a8bc08f8d838bc08d8183" rel="noreferrer noopener nofollow">[email protected]</a>/home/git/acme-mvn-repo.git</url>
</repository>

...

<!-- This dependency is in coyote.acme.com/home/git/acme-mvn-repo.git -->
<dependency>
    <groupId>coyote.acme.com</groupId>
    <artifactId>anvil</artifactId>
    <version>1.0.0</version>
</dependency>

...

<extensions>
    <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh</artifactId>
        <version>2.6</version>
    </extension>
</extensions>

执行时:

mvn clean install -U

我们得到:

Failed to read artifact descriptor for coyote.acme.com:anvil:jar:1.0.0: 
Could not transfer artifact coyote.acme.com:anvil:pom:1.0.0 from/to acme-repo
(coyote.acme.com:anvil): No connector available to access rep
ository repo (coyote.acme.com:anvil) of type default using the available factories
WagonRepositoryConnectorFactory -> [Help 1]

我们应该使用不同的连接器吗?

最佳答案

Maven 希望服务器给它单个文件。 git 存储库只是更改的集合,需要 Git 工具才能理解它们。所以你所做的事情没有意义,也永远不会起作用。

您可以做什么:您可以在 HTTP 服务器上克隆存储库。将其配置为可以通过 Web 浏览器访问根文件夹。当此方法有效时,您只需在 Maven 中使用相同的 URL 即可。

我建议首先尝试让它在网络浏览器中工作,因为它会给你更好的错误消息,并且你可以使用鼠标浏览 Maven 存储库。

关于git - Maven 对 Git 上托管的存储库的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21313756/

相关文章:

git - git 有 bug 库吗?

git - 如何获取特定 Git 提交的文件 SHA?

java - 自动部署到sonatype的oss maven仓库

git - 使用 SSH 克隆 git repo

ssh - Proftpd:使用ssh key 配置通过SFTP访问虚拟用户

GIT fatal error : ambiguous argument 'HEAD' : unknown revision or path not in the working tree in Travis

git - 如何将 IntelliJ IDEA 项目发布为 Gist

java - IntelliJ IDEA,jbehave 支持插件找不到声明去

java - 在服务器上运行 Maven Web 应用程序

git - 通过ssh克隆Bitbucket存储库