Pergunta

Alguém sabe como posso especificar em Ivy algo como espelho / mirrorOf em Maven? Eu estou trabalhando com um proxy Maven local (Nexus) e precisa da ferramenta para especificar qual dos repositórios pais devem procuração Nexus estar acessando.

Em Maven eu faço simplesmente:

<mirrors>
  <mirror>
    <id>central-mirror</id>
    <mirrorOf>central</mirrorOf>
    <url>http://localhost:8081/content/repositories/central</url>
  </mirror>
</mirrors>

mas não posso encontrar este tipo de opção no Ivy.

Foi útil?

Solução

Eu não acho que essa opção existe diretamente. Você poderia tentar implementar um cadeia , e colocar a sua frente repositório Nexus de central em que a cadeia. Se eu entender como cadeias de funcionar corretamente (que é um grande se), Ivy irá verificar o seu repositório antes central, por isso, enquanto o seu repositório tem os conteúdos relevantes central não serão necessários.

Veja a tutorial para mais detalhes.

Outras dicas

Você precisa criar um resolvedor público que faz o que quiser (mais detalhes @ docs Ivy )

Basicamente salvar o seguinte trecho de menos de US $ USERHOME / .ivy2 / ivysettings-public.xml. Isso deve fazer o truque.

<ivysettings> 
  <resolvers> 
    <ibiblio name="public" m2compatible="true" root="http://localhost:8081/content/groups/public"/> 
  </resolvers> 
</ivysettings>
  • A instalação padrão não modificada tem 'nexo' na URL!
  • Se você precisa para implantar artefatos, eu acho que a solução é fazer algo semelhante para o resolvedor compartilhada (ver link para docs acima), mas eu não tentei.
  • I mudou sua URL local para resolver com o padrão 'content / grupos / público', que é melhor, pois no maven configurações fragmento acima você está passando todas as chamadas através do espelho, não apenas os únicos a central. Basta adicionar todos os repositórios adicionais para esse grupo na interface do usuário Nexus como eles vêm para cima e você deve ser fino.
  • Se suas cargas de projeto é próprio ivysettings que não honram os padrões, em seguida, essas configurações não são carregados e você está novamente de volta ao zero: (

Isto é como eu fiz isso funciona (A resposta de @Heron não funcionou para mim):

Crie um arquivo com este conteúdo:

<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>

REFERÊ a ele a partir da construção Ant:

<ivy:settings file="/Users/wdb/.ivy2/ivysettings-public.xml" />

Ivy é agora capaz de dependências resolver do meu repositório nexus.

Eu teria feito o mesmo, mas com Archiva, o que é muito semelhante. Você só tem que declarar em uma nova cadeia a seguinte:

<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 administra Maven 2 repositórios (artefatos com os dados meta Maven) não é geralmente hera meta dados (ivy.xml). E o layout Maven 2 é [organização] / [módulo] / [revisão] / [artefato] -.. [Revisão] [ext]

Temos apenas para fornecer as seguintes informações

<url name="archiva" m2compatible="true">
  <artifact pattern="http://..../archiva/repository/internal/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" /> 
  </url>
</chain>

ou

  <settings defaultResolver="archiva"/>
  <resolvers>
<ibiblio name="archiva" m2compatible="true" root="http://.../archiva/repository/internal/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
  </resolvers>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top