2015-12-10 4 views
0

Id нравится использовать Sonatype Nexus как корпоративный репозиторий maven/ivy. Моя цель состоит в том, что каждый запрос отправляется в nexus, и если в nexus нет (еще) содержащего запрошенный артефакт, он должен делегировать запрос официальному репозиторию maven. Все артефакты, которые были загружены из официального репозитория maven, должны быть сохранены в nexus (в качестве резервной копии). Кроме того, я хочу иметь возможность сохранять собственные артефакты для другого проекта для других проектов (например, внутренние библиотеки)Как использовать Sonatype Nexus как зеркало для зависимостей Плюща

В прошлом проекте мы создали сервер Sonatype Nexus для использования в качестве зеркала для репозиторий maven, который работал нормально. Теперь я борюсь с проектом, который использует Ivy, чтобы выполнить то же самое с существующей установкой nexus.

В проекте Maven, мы имели следующее settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <interactiveMode /> 
    <usePluginRegistry /> 
    <offline /> 
    <pluginGroups /> 
    <servers> 
    <server> 
    <id>deployment</id> 
    <username>[USERNAME]</username> 
    <password>[PASSWORD]</password> 
    </server> 
</servers> 
    <mirrors> 
     <mirror> 
      <!--This sends everything else to /public --> 
      <id>nexus</id> 
      <mirrorOf>*</mirrorOf> 
      <url>http://mavenserver:8081/nexus/content/groups/public</url> 
     </mirror> 
    </mirrors> 
    <profiles> 
     <profile> 
      <id>nexus</id> 
      <!--Enable snapshots for the built in central repo to direct --> 
      <!--all requests to nexus via the mirror --> 
      <repositories> 
       <repository> 
        <id>central</id> 
        <url>http://central</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <id>central</id> 
        <url>http://central</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
    </profiles> 
    <activeProfiles> 
     <!--make the profile active all the time --> 
     <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
</settings> 

Как я могу сделать то же самое с Айви?

+0

@ mark-oconnor: Это абсолютно не «точный дубликат существующего вопроса», по крайней мере, не тот, который вы указали в качестве дубликата. Это относится к использованию репозиториев Nexus to proxy Ivy с Maven, ваша ссылка предназначена для использования Ivy с Ant. –

ответ

0

До тех пор, пока вы используете Ivy для доступа к хранилищам Maven, а не в специальном формате Ivy, вы можете использовать подход documented in the Nexus Repository Manager documentation.

Также проверьте examples project for a working example.

И если вы используете Ant, вы также можете использовать Eclipse Aether вместо Ivy. Более того, в документах и ​​примерах.

Смежные вопросы