Как использовать репозиторий Maven 1 с Maven 2?
У меня проблемы с созданием моего проекта (используя maven 2), который ссылается на некоторые jar-файлы из репозитория maven 1.
Сценарий: моя компания имеет частный репозиторий 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. Следуя инструкциям здесь: соответствующие официальные документы Maven Мой 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 попытался загрузить jar из "maven2 central":
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
Если кто-нибудь может указать мне, как получить этот freehep_swing-2.0.3.jar из репозитория maven1 (с макетом, показанным выше), я был бы очень признателен за это.
Спасибо,
Tung
1 ответ
Менеджер репозитория Nexus может прокси-репозиторий Maven 1 для клиентов Maven {2,3}.
Maven 3 больше не имеет возможности использовать устаревшие репозитории, см. Примечания по совместимости с Maven3.x.