2012-06-25 2 views
6

Когда я пытаюсь использовать versions:use-releases, мой репозиторий выпуска помечен как «отключенный», что означает, что зависимости моментальных снимков не разрешаются для релизов. Я не понимаю, почему репозиторий считается отключенным.Проверка версий пропусков Maven версий

Вот сокращенный отладочный вывод из сборки:

[DEBUG] (f) remoteArtifactRepositories = [  id: snapshots 
     url: http://maven.live.hostname.net/content/repositories/snapshots/ 
    layout: default 
snapshots: [enabled => true, update => daily] 
releases: [enabled => true, update => daily] 
,  id: company-nexus 
     url: http://maven.live.hostname.net/content/groups/public/ 
    layout: default 
snapshots: [enabled => false, update => daily] 
releases: [enabled => true, update => daily] 
] 
[...] 
[DEBUG] Looking for a release of promotion-test-central:promotion-test-central:jar:1.6.0-SNAPSHOT 
[INFO] artifact promotion-test-central:promotion-test-central: checking for updates from snapshots 
[DEBUG] Reading resolution-state from: /home/tester/.m2/repository/promotion-test-central/promotion-test-central/resolver-status.properties 
[DEBUG] Writing resolution-state to: /home/tester/.m2/repository/promotion-test-central/promotion-test-central/resolver-status.properties 
[DEBUG] Skipping update check for artifact promotion-test-central:promotion-test-central (/home/tester/.m2/repository/promotion-test-central/promotion-test-central/maven-metadata-company-nexus.xml) from disabled repository company-nexus (http://hostname/content/groups/public/) 

Я бег установки, которая отражает запросы central нашего Nexus, например, а также определяет, глобальное хранилище моментальных снимков также:

<mirrors> 
     <mirror> 
      <id>mendeley-nexus</id> 
      <mirrorOf>central</mirrorOf> 
      <url>http://maven.live.chonp.net/content/groups/public/</url> 
     </mirror> 
    </mirrors> 
    <profiles> 
     <profile> 
      <id>default</id> 
      <repositories> 
       <repository> 
        <id>snapshots</id> 
        <url>http://maven.live.chonp.net/content/repositories/snapshots/</url> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
     </profile> 
    </profiles> 
    <activeProfiles> 
     <activeProfile>default</activeProfile> 
    </activeProfiles> 

Существует версия выпуска и моментальной копии рассматриваемой зависимости, и репозиторий работает точно так, как ожидалось, во всех других отношениях.

+0

@ZnArK - Как сделать подсветку синтаксиса XML? –

+0

для xml вам нужно добавить комментарий ' SO использует prettify, вот README http://google-code-prettify.googlecode.com/svn/trunk/README. html Это также отличный ресурс http://meta.stackexchange.com/a/75019/187632 – ZnArK

+0

1 up, поскольку у меня была такая же проблема, и этот ответ сработал отлично –

ответ

3

Ваш файл settings.xml должен быть настроен as documented in the Nexus book. Ваша конфигурация не будет работать, поскольку она лишь частично отменяет супер-поместье Maven.

+1

Извините, но это не имеет большого смысла. Конечно, если я включу в профиль nexus единое репо для моментальных снимков и выпусков, это сработает. Но зачем мне это делать? Какой смысл искать релизы в репозитории моментальных снимков? – Uberto

+1

Дело в том, что вы зеркалируете ВСЕ (выпуск и моментальные снимки) в публичную группу, и вам нужно, чтобы они могли пройти. Если, конечно, вы никогда не захотите использовать моментальные снимки. –

+1

В идеале я хотел бы оставить свои снимки из публичного репо, иначе зачем беспокоиться о наличии 2 репозиториев? В любом случае здесь проблема обратная, ища выпуски в хранилище моментальных снимков. Я понимаю, что ребята maven означали репозиторий снимков, чтобы сохранить все * плюс * моментальные снимки, а не только снимки. Который также хорош со мной, если только это было немного более подробно описано. – Uberto

1

Я также столкнулся с этим. Я был в состоянии пройти мимо него, выполнив:

<repository> 
     <id>my-snapshots</id> 
     <url>https://nexus.corp.company.com/nexus/content/repositories/snapshots</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
    </repository> 

который был отходом от ранее имеющих:

 <releases> 
      <enabled>false</enabled> 
     </releases> 

Это, кажется, происходит, когда Maven ищет метаданные для текущих артефакта, и ограничивает поиск только репозиториями, которые также могут содержать этот артефакт.

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