Доступ к внутреннему репозиторию Maven из IVY - PullRequest
3 голосов
/ 01 июля 2010

Здесь мы используем репозиторий Sonatype Maven.Это очень хорошо для наших проектов maven, но у нас есть устаревшее приложение, которое использует Ant + IVY для управления зависимостями, которое теперь требует депо от Maven.

Мой файл настроек IVY выглядит следующим образом:

<ivysettings>
    <property name="dsnexus-root" value="http://internal-url/" override="false"/>

    <credentials host="hostname" username="username" passwd="XXXX"/>

    <!-- ... -->

    <resolvers>
        <chain name="shared">
            <url name="shared-default">
                <!-- ... -->
            </url>
            <url name="dsnexus-public" m2compatible="true">
                <artifact pattern="${dsnexus-root}/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
            </url>
        </chain>
    </resolvers>

    <modules>
        <module organisation=".*" name=".*" resolver="shared"/>
    </modules>

    <!-- ... -->
</ivysettings>

Но когда я пытаюсь разрешить свои депы, он ничего не находит во внутреннем репо

например,

module not found: xerces#xercesImpl;2.9.1
==== shared-default: tried
...
==== dsnexus-public: tried
-- artifact xerces#xercesImpl;2.9.1!xercesImpl.jar:
http://internal-url/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar

И, конечно, депо существует по этому URL.

Я также пытался

<ibiblio name="dsnexus-public" 
    root="${dsnexus-root}" 
    m2compatible="true" 
    namespace="maven2"/>

и получил тот же результат.

Я предполагаю, что в учетных данных есть что-то, что я ошибся.

Ответы [ 3 ]

3 голосов
/ 20 июля 2010

Вы также должны указать область с вашими учетными данными, что-то вроде этого:

<credentials host="hostname" realm="Sonatype Nexus Repository Manager" username="username" passwd="xxx"/>
2 голосов
/ 31 июля 2010

Вот, попробуйте это:

<ivysettings>
  <settings defaultResolver="nexus" 
            checkUpToDate="true" />

  <credentials host="localhost" 
           realm="Sonatype Nexus Repository Manager" 
           username="admin"
           passwd="admin123"/>
  <resolvers>
    <ibiblio name="nexus" m2compatible="true" 
             root="http://localhost:8081/nexus/content/groups/public/"/>
    <url name="releases" m2compatible="true">
        <artifact pattern="http://localhost:8081/nexus/content/repositories/releases/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
        <ivy pattern="http://localhost:8081/nexus/content/repositories/releases/[organization]/[module]/[revision]/ivy-[revision].xml"/>
    </url> 
  </resolvers>
</ivysettings>

Прекрасно работает для меня с Nexus 1.7.1.Дайте мне знать, если у вас возникнут проблемы.

0 голосов
/ 01 июля 2010

Я обычно использую распознаватель ibiblio при разговоре с Nexus.

<ibiblio name="reponame" m2compatible="true" root="http://nexus-url/reponame"/>
...