2016-09-14 5 views
1

У меня есть проект, размещенный на GitHub, с ответвлением я использую для разработки новой версии: https://github.com/jrtom/jung/tree/common.graphНе может найти гуавы 20,0-SNAPSHOT артефакта

Главного филиала (v2.1.1) строит отлично.

В common.graph ветвь отличается от master только два способов:

  1. Я натолкнулся версия в pom.xml файлах из 2.2-SNAPSHOT в 3.0-SNAPSHOT. Это эффективно косметическое.
  2. Я столкнулся с версией зависимости Guava от 19.0 до 20.0-SNAPSHOT, так что я могу начать разработку против новых функций. Это правильная зависимость в документации Гуава: https://github.com/google/guava#snapshots

Запрос притяжению common.graph филиала успешно строит через Travis: https://github.com/jrtom/jung/pull/65

Однако, когда я клонировать эту ветку:

git clone --branch common.graph --single-branch [email protected]:jrtom/jung.git jung_3.0 

и затем запустить mvn install, я получаю эту ошибку:

Failed to execute goal on project jung-api: 
Could not resolve dependencies for project net.sf.jung:jung-api:jar:3.0-SNAPSHOT: 
Could not find artifact com.google.guava:guava:jar:20.0-SNAPSHOT 

Устранение локального репозитория в ~/.m2/репозитории не влияет.

Насколько я могу судить - от чтения документации Maven, от просмотра других файлов pom.xml, ссылающихся на моментальный снимок Guava v20 - это изменение должно просто работать, но это не так.

Изменение зависимости от Гува до 18.0делает произведение. Так что это кажется чем-то нелепым с спецификацией -SNAPSHOT, но я не вижу, как это сделать.

Любые советы/указатели будут оценены.

UPDATE:.

@ ответ РЦ ниже указал мне в правильном направлении, хотя я по-прежнему необходимо, чтобы выяснить правильную спецификацию хранилища для снимков Google. На будущее, вот спецификации:

<repositories> 
    <repository> 
    <id>google-snapshots</id> 
    <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
    <releases> 
     <enabled>false</enabled> 
    </releases> 
    <snapshots> 
     <enabled>true</enabled> 
    </snapshots> 
    </repository> 
</repositories> 
+0

Всегда смотрите на Maven центрального чтобы узнать, доступен ли ваш артефакт. [Guava 20.0.0-SNAPSHOT нет] (http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.google.guava%22%20AND%20a%3A%22guava%22) , –

ответ

3

Снимки не толкаются в maven central по очевидным причинам.

Если вы действительно хотите гуавы снимков, это seems они выталкиваются в этом repository

Чтобы add a custom repository вашего П, использовать что-то вроде (адаптировано из дока):

<repositories> 
    <repository> 
     <releases> 
     <enabled>false</enabled> 
     <updatePolicy>always</updatePolicy> 
     <checksumPolicy>warn</checksumPolicy> 
     </releases> 
     <snapshots> 
     <enabled>true</enabled> 
     <updatePolicy>never</updatePolicy> 
     <checksumPolicy>fail</checksumPolicy> 
     </snapshots> 
     <id>sonatype-OSS-snaphots</id> 
     <name>Sonatype OSS Snapshots</name> 
     <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
     <layout>default</layout> 
    </repository> 
    </repositories> 
+0

RC: спасибо за информацию; Я не эксперт Maven, поэтому мне не сразу становится ясно, почему моментальные снимки не будут перенесены на центральное репо Maven. Во всяком случае, я обновляю свой оригинальный вопрос, чтобы показать правильную спецификацию для хранилища снимков Google, теперь, когда я выяснил детали. –

+0

Рад, что ваша проблема теперь исправлена ​​:) Одна из причин, по которой они не находятся в центре, их много, поскольку в гуаве есть много снимков в день, представьте, что для N проектов (центральный центр maven - огромный, см. Http: //search.maven.org/#stats) Другая причина заключается в том, что моментальный снимок может быть нестабильным, иногда очень неустойчивым. –