2015-03-16 4 views
2

Я в настоящее время занят переносом довольно старых проектов от Ant до Gradle. Это включает в себя замену каталогов lib эквивалентным управлением зависимостями Gradle.Maven Central: POM доступен, но не JAR

В настоящее время у меня проблемы с Maven Central. Некоторые зависимости (я нашел не менее 3) имеют файл POM, но соответствующий JAR-файл отсутствует, например.

Это недавнее Maven Центральная проблема или это были никогда доступны JAR-файлы на Maven Central?

PS Я мог бы использовать более новые версии libaries, но я бы предпочел сначала получить проект, работающий с текущими зависимостями, перед обновлением.

ответ

0

Некоторые организации запрещают публикацию двоичного контента на общественных форумах. Например, Oracle предотвращает публикацию JAR-файлов, содержащих его драйверы JDBC, на онлайн-форумах, в том числе Maven Central. См. Пример this. Некоторое время JAVAX JAR также не были опубликованы в Maven Central.

Вы можете изменить свою зависимость до javax.mail:javax.mail-api:1.5.2, которая является последней доступной версией на Maven Central.

+1

Спасибо! Я до сих пор не понимаю, почему они будут публиковать метаданные (pom.xml), если они не могут добавить банку. Создается впечатление, что зависимость доступна (например, поиск mvnrepository.com находит ее), но затем сборка не удалась, когда вы пытаетесь получить файл jar. –

1

Если вы хотите Gradle искать POM в одном хранилище, и соответствующий Jar в другом хранилище, вы должны сделать:

repositories { 
    url 'http://repo1.maven.org/maven2' 
    artifactUrls 'http://repository.jboss.org/nexus/content/groups/public-jboss' 
} 

Настройка artifactUrls соответственно ..

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