문제

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>

그러나 나는 아이비에서 이런 종류의 옵션을 찾을 수 없습니다.

도움이 되었습니까?

해결책

나는 그러한 옵션이 직접 존재한다고 생각하지 않습니다. 구현을 시도 할 수 있습니다 체인, 그리고 넥서스 리포지토리를 그 체인의 Central보다 앞서 두십시오. 체인이 올바르게 작동하는 방식을 이해하면 (큰 if), 아이비는 리포지토리에 관련 내용이 필요하지 않은 한 Central 전에 저장소를 확인합니다.

참조 지도 시간 자세한 내용은.

다른 팁

원하는 것을 수행하는 공개 리졸버를 만들어야합니다 (자세한 내용은 @ 아이비 문서)

기본적으로 $ 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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top