我在构建项目(使用 maven 2)时遇到问题,该项目引用了 maven 1 存储库中的一些 jar。
场景:我的公司有一个私有(private) Maven 1 存储库,其中包含以下信息:
<url>http://my-company-maven1-repo/maven-repository<url>
其布局为:
maven-repository
|_repository
|_ ....
|_ ....
|_vectorgraphics
|_jars
|_freehep_swing-2.0.3.jar
|_freehep_io-2.0.2.jar
我尝试过的: 1. 按照此处的指南操作:relevant maven official docs 我的 mvn2 pom.xml:
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>my-repo</id> <-- I made up a temporary id/name
<name>my_repo></name>
<url>http://my-company-maven1-repo/maven-repository<url>
<layout>
<repository>
<dependencies>
<dependency>
<groupId>vectorgraphics</groupId>
<artifactId>freehep-swing</artifactId>
<version>2.0.3</version>
<scope>jar</scope>
</dependency>
</dependencies>
结果很奇怪,我公司的 maven1 存储库被完全忽略了。相反,mvn2 尝试从“maven2central”下载 jar:
Downloading http://repo1.maven.org/maven2/vectorgraphics/freehep-swing/2.0.3/freehep-swing-2.0.3.pom
生成的 freehep-swing-2.0.3.pom (在我本地的 .m2/repository/中)有以下错误:
legacy-http\://my-company-maven1-repo/maven-repository/.lastUpdated=1305430120039
http\://my-company-maven1-repo/maven-repository/.error=Could not transfer artifact vectorgraphics\:freehep-swing\:pom\:2.0.3 from/to my-repo (http\://my-company-maven1-repo/maven-repository)\: No connector available to access repository my-repo (http\://my-company-maven1-repo/maven-repository) of type legacy using the available factories AsyncRepositoryConnectorFactory, WagonRepositoryConnectorFactory
http\://repo1.maven.org/maven2/.error=
http\://repo1.maven.org/maven2/.lastUpdated=1305430120281
如果有人可以向我指出如何从 maven1 存储库中获取 freehep_swing-2.0.3.jar(布局如上所示),我将非常感激。
谢谢
董
最佳答案
Nexus repository manager能够为 Maven {2,3} 客户端代理 Maven 1 存储库。
Maven 3 不再能够使用“旧版”存储库,请参阅 Maven 3.x compatibility notes .
关于maven-2 - 如何将 maven 1 存储库与 maven 2 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006391/