Вопрос по – Плющ через прокси Nexus

11

Кто-нибудь знает, как я могу указать в Ivy что-то вроде mirror / mirrorOf в Maven? Я работаю с локальным прокси-сервером Maven (Nexus) и мне нужен инструмент, чтобы указать, к какому из родительских репозиториев должен обращаться прокси-сервер Nexus.

В Maven я делаю просто:

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

но я не могу найти такой вариант в Айви.

Ваш Ответ

5   ответов
2

Вот как я заставил это работать (Ответ от @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" />

Теперь Айви может разрешать зависимости из моего хранилища Nexus.

8

который делает то, что вы хотите (подробнее @Айви документы)

Сохраните следующий фрагмент кода в $ USERHOME / .ivy2 / ivysettings-public.xml. Это должно сделать свое дело.

<ivysettings> 
  <resolvers> 
    <ibiblio name="public" m2compatible="true" root="http://localhost:8081/content/groups/public"/> 
  </resolvers> 
</ivysettings>
The unmodified standard installation has 'nexus' in the URL! If you need to deploy artifacts, I think the solution is to do something similar to the shared resolver (see link to docs above), but I haven't tried. I changed your local URL to resolve to the standard 'content/groups/public' which is better since in the maven settings fragment above you're passing all calls through the mirror, not just the ones to central. Just add any additional repositories to that group in the Nexus UI as they come up and you should be fine. If your project loads it's own ivysettings which doesn't honor the defaults, then these settings will not get loaded and you're again back at zero :(
Error: User Rate Limit Exceeded Matthias Hryniszak
Error: User Rate Limit Exceeded Matthias Hryniszak
Error: User Rate Limit Exceeded<ivy:settings file="/Users/wdb/.ivy2/ivysettings-public.xml" />Error: User Rate Limit Exceededno resolver found for net.wimpi#jamod
Error: User Rate Limit Exceededsvn.apache.org/repos/asf/ant/core/trunk/…Error: User Rate Limit Exceededrepo1.maven.org/maven2Error: User Rate Limit Exceeded
6

Я не думаю, что такой вариант существует напрямую. Вы можете попробовать реализоватьцепьи поместите ваш репозиторий Nexus впереди центрального в этой цепочке. Если я понимаю, как правильно работают цепочки (это большое, если), Айви будет проверять ваш репозиторий перед центральным, при условии, что ваш репозиторий имеет релевантное централизованное содержимое.

Увидетьруководство для деталей.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Matthias Hryniszak
-1

) обычно нет метаданных Ivy (ivy.xml). А макет Maven 2 - это [организация] / [модуль] / [ревизия] / [артефакт] - [ревизия]. [Доб].

Мы должны только предоставить следующую информацию

<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>
Error: User Rate Limit Exceeded Matthias Hryniszak
-1

Я сделал то же самое, но с 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>
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Matthias Hryniszak

Похожие вопросы