문제
Ivy에서 Maven의 Mirror/Mirrorof와 같은 것을 어떻게 지정하는지 아는 사람이 있습니까? 나는 Local Maven Proxy (Nexus)와 함께 일하고 있으며 Nexus 프록시에 액세스 해야하는 부모 저장소를 지정하는 도구가 필요합니다.
Maven에서는 간단하게합니다.
<mirrors>
<mirror>
<id>central-mirror</id>
<mirrorOf>central</mirrorOf>
<url>http://localhost:8081/content/repositories/central</url>
</mirror>
</mirrors>
그러나 나는 아이비에서 이런 종류의 옵션을 찾을 수 없습니다.
다른 팁
원하는 것을 수행하는 공개 리졸버를 만들어야합니다 (자세한 내용은 @ 아이비 문서)
기본적으로 $ userhome/.ivy2/ivysettings-public.xml 아래에 다음 스 니펫을 저장하십시오. 이것은 트릭을 수행해야합니다.
<ivysettings>
<resolvers>
<ibiblio name="public" m2compatible="true" root="http://localhost:8081/content/groups/public"/>
</resolvers>
</ivysettings>
- 수정되지 않은 표준 설치는 URL에 'Nexus'가 있습니다!
- 아티팩트를 배포 해야하는 경우 솔루션은 공유 리졸버와 유사한 작업을 수행하는 것이지만 (위의 문서 링크 참조) 시도하지 않았습니다.
- 나는 당신의 로컬 URL을 표준 '컨텐츠/그룹/공개'로 바꾸어 위의 Maven 설정 조각에서 중앙에 대한 거울을 통해 모든 통화를 통과하기 때문에 더 좋습니다. Nexus UI에서 해당 그룹에 추가 저장소를 추가하면 괜찮을 것입니다.
- 프로젝트가로드되면 기본값을 존중하지 않는 자체 IvySettings, 이러한 설정은로드되지 않으며 다시 0으로 돌아옵니다.
이것이 제가 작동하는 방법입니다 (@heron의 답은 나에게 효과가 없었습니다) :
이 컨텐츠로 파일을 만듭니다.
<ivysettings>
<settings defaultResolver="default"/>
<property name="m2-pattern" value="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]" override="false" />
<resolvers>
<chain name="default">
<ibiblio name="public" m2compatible="true" root="http://nexus-server:8081/nexus/content/groups/public"/>
</chain>
</resolvers>
</ivysettings>
개미 빌드에서이를 참조하십시오.
<ivy:settings file="/Users/wdb/.ivy2/ivysettings-public.xml" />
아이비는 이제 내 넥서스 저장소에서 의존성을 해결할 수 있습니다.
나는 똑같이했지만 Archiva와 함께 매우 비슷한 점이 있습니다. 새 체인에서 다음을 선언하면됩니다.
<chain name="private">
<url name="archiva" m2compatible="true">
<ivy pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/ivy.xml" />
<artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
<artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact].[ext]" />
</url>
</chain>
Archiva는 Maven 2 리포지토리 (Maven Meta 데이터가 포함 된 아티팩트)를 관리합니다. 일반적으로 Ivy Meta 데이터 (Ivy.xml)가 없습니다. Maven 2 레이아웃은 [조직]/[모듈]/[개정]/[artifact]-[개정]. [ext]입니다.
우리는 다음과 같은 정보 만 제공해야합니다
<url name="archiva" m2compatible="true">
<artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />
</url>
</chain>
또는
<settings defaultResolver="archiva"/>
<resolvers>
<ibiblio name="archiva" m2compatible="true" root="http://.../archiva/repository/internal/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</resolvers>
제휴하지 않습니다 StackOverflow