2015-03-11 4 views
0

Я создаю веб-приложение Spring Boot и в моей настройке У меня есть локальный репозиторий, в котором размещаются все мои JAR-адреса третьей стороны - репозиторий имеет формат плюща. Я смог создать файл WAR при подключении к репозиторию Maven Central, и теперь мне нужно иметь возможность строить офлайн из моего локального репозитория.Gradle & local Ivy repository не находит транзитивных зависимостей

Я скопировал все зависимости, требуемые в формате плюща (/{module}/{name}/{version}/{name}-{version}.jar), и теперь я хочу отключить репозиторий mavenCentral() и просто создать локально.

Однако, если я выполняю зависимости градиента, я не вижу ни одной из транзитивных зависимостей, перечисленных, как я делаю, когда я подключен к maven central. В моем локальном репо я также добавил соответствующий файл .pom (следуя тому же соглашению об именах, что и файл JAR), а также попытался добавить файлы ivy.xml, но все еще не обнаружил транзитивных зависимостей.

Может ли кто-нибудь указать мне в правильном направлении или предложить, что я делаю неправильно здесь?

Пример одного из моих Спринг-загрузочных файлов JAR в моем местном репо:

$ ls /repo/org.springframework.boot/spring-boot-starter-web/1.1.8.RELEASE 
spring-boot-starter-web-1.1.8.RELEASE.jar spring-boot-starter-web-1.1.8.RELEASE.pom 

Мой файл сборки настройки локального плющ репо:

repositories { 
    ivy { url "file://repo" } 
} 

Пример бегущих Gradle зависимостей:

+--- org.springframework.boot:spring-boot-starter-web: -> 1.1.8.RELEASE 
+--- org.springframework.boot:spring-boot-starter-security: -> 1.1.8.RELEASE 
+--- org.springframework.boot:spring-boot-starter-thymeleaf: -> 1.1.8.RELEASE 
+--- org.springframework:spring-context-support: -> 4.0.7.RELEASE 
+2

Если вы не получаете транзитивных зависимостей, то, вероятно, он не может найти дескриптор метаданных (ivy.xml). Возможно, вам придется указать пользовательский макет. Проверьте [здесь] (http://gradle.org/docs/current/javadoc/org/gradle/api/artifacts/repositories/IvyArtifactRepository.html) для получения дополнительной информации. Вы также можете попробовать запустить Gradle с параметрами командной строки '--info' или' --debug', чтобы получить более подробную информацию о процессе разрешения зависимостей, который может помочь вам устранить неполадки. –

+0

Спасибо @MarkVieira заинтересует - знаете ли вы, где место по умолчанию для файла ivy.xml будет в репозитории плюща? и это ожидаемое имя ivy.xml, или то же, что и шаблон JAR/pom name, но .xml? – rhinds

+0

Спасибо @MarkVieira Я прочитал эту ссылку, и это дало мне ответ, в котором я нуждался. Я попробовал свой ivy.xml как тот же шаблон, что и JAR, и как простой ivy.xml, но из ссылки, которую я вижу, быть ivy-{version} .xml - Это изменение вызвало некоторые зависимости! Если вы хотите добавить его в качестве ответа, я соглашусь с тем, что – rhinds

ответ

1

Если вы не получаете транзитивных зависимостей, то, вероятно, он не может найти метаданные descrip tor (ivy.xml). Возможно, вам придется указать пользовательский макет. Проверьте here для деталей.

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