我正在处理具有多个依赖项的项目。大多数依赖项都可以在我们的集中式maven存储库中找到。我的项目包括一些JAR,这些JAR只针对我的应用程序而且在我们的Maven仓库中无法使用。由于某些政策/限制,我无法将这些罐子部署到我们的maven存储库。
当我在我的本地存储库(即UserHome / .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时,验证我收到以下错误..
[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下载列出的依赖项。
但是当我在公司网络上的项目中尝试使用相同的东西时,它却无法运行..它给出了我在使用这种方法之前得到的相同错误。
有人能帮帮我吗?会有什么问题?这是网络问题吗?
答案 0 :(得分:3)
设置像Nexus这样的存储库管理器,不要滥用Subversion来处理它不适用的东西。遗憾的是,这已在Google Code中完成。
答案 1 :(得分:1)
您必须将项目配置为使用wagon-scm。 见http://maven.apache.org/wagon/wagon-providers/wagon-scm/usage.html