3

我正在研究具有多个依赖项的项目。大多数依赖项都在我们的集中式 Maven 存储库中可用。我的项目包含一些仅特定于我的应用程序且在我们的 Maven 存储库中不可用的 JAR。由于某些政策/限制,我无法将该 jar 部署到我们的 maven 存储库。

当我在我的本地存储库(ieUserHome/.m2/repository)中安装这些 jar 并编译代码时,它工作正常。

现在我想要 SVN 中的这些依赖项,以便我们可以使用 Continuum 构建应用程序包。(我们不能从 Continuum 服务器引用本地依赖项。)

为了实现这些,我从 .m2/repository 复制了本地安装的依赖项并将其提交到 SVN 中。然后我在 pom.xml 中声明了存储库,例如..

<repositories>
  <repository>
      <id>repo.pu</id>
      <name>repo.pu</name>
      <url>https://URL/migration2/APP1/src/main/lib/</url>
      <layout>default</layout>
  </repository>
</repositories>

现在要使用来自上述 repo 的依赖项,我添加了如下代码...

<dependencies>
<dependency>
  <groupId>repo.pu</groupId>
  <artifactId>Ptestval</artifactId>
  <version>1.0</version>
</dependency>
</dependencies>

当我输入 mvn verify 我收到以下错误..

[ERROR] Failed to execute goal on project APP1: Could not resolve dependencies f
or project fileservices.migration2:APP1:jar:1.0: Failed to collect dependencies
for [repo.pu:Ptestval:jar:1.0 (compile)]: Failed to read artifact descriptor for
repo.pu:Ptestval:jar:1.0: Could not transfer artifact repo.pu:Ptestval:pom:1.0
from/to repo.pu (https://URL/migration2/APP1/src/main/lib/): Access denied to: 
https://URL/migration2/APP1/src/main/lib/repo/pu/Ptestv
al/1.0/Ptestval-1.0.pom -> [Help 1]

你能请人帮我解决这些问题吗?

编辑: 我创建了一个像 ..

    <repositories>
       <repository>
       <id>repo.pu</id>
       <name>repo.pu</name>
       <url>https://SVNUserName:SVNPassword@SVN_URL/BaseProj/ProjA/src/main/lib</url> 
       <layout>default</layout>
       </repository>
     </repositories>

这种技术在我的个人笔记本电脑上非常有效。Maven 从 repo 下载列出的依赖项。

但是,当尝试在公司网络上的项目中使用它时,它不起作用..它给出了与我在使用这种方法之前遇到的相同的错误。

任何人都可以帮助我吗?会有什么问题?是网络问题吗?

4

2 回答 2

3

设置一个像 Nexus 一样的存储库管理器,不要滥用 Subversion 来做它不是为它设计的东西。不幸的是,这是在 Google Code 中完成的。

于 2011-12-09T13:00:26.927 回答
1

您必须将项目配置为使用 wagon-scm。见http://maven.apache.org/wagon/wagon-providers/wagon-scm/usage.html

于 2011-12-09T19:38:50.523 回答