Не удается разрешить зависимость с помощью плюща

У меня проблемы с плющом, не решающим некоторые из моих зависимостей. Вот как я повторил проблему:

У меня есть пустой проект Java в затмении. Я добавил ivy.xml в свой проект:

<?xml version="1.0" encoding="ISO-8859-1"?>
<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info
        organisation=""
        module=""
        status="integration">
    </info>
    <dependencies >
        <dependency org="org.drools" name="drools-core" rev="5.5.0.Final"/>
    </dependencies>
</ivy-module>

Это работает отлично, и Айви может разрешать и загружать слюни.

Если я изменю редакцию на 6.3.0.Final ( http://mvnrepository.com/artifact/org.drools/drools-core/6.3.0.Final), она не будет работать, и я вижу ошибку:

неразрешенная зависимость: org.drools#drools-core;6.3.0. Окончательный вариант: не найден

Единственное различие, которое я вижу между этими двумя версиями, заключается в том, что 6.3.0 является комплектом. В затмении, когда я иду в Свойства для Плюща -> classpath -> я проверил Чтение метаданных OSGI и Принятые типы = jar,bundle,ejb,maven-plugin

Я также погуглил и нашел это (которое может быть совершенно не связано с этой проблемой): http://mail-archives.apache.org/mod_mbox/ant-dev/201501.mbox/%3CCAC_RtEZx=bqk+N3MrtH-Y-zCqDfm5=eA3rYOa7hLLYC_u82S9g@mail.gmail.com%3E

2 ответа

Решение

Кажется, проблема хранилища Maven. Похоже, что в одном из родительских файлов POM отсутствует зависимость.

При разрешении плюща выводятся следующие предупреждающие сообщения:

[ivy:resolve] :::: WARNINGS
[ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/kie/kie-platform-bom/6.3.0.Final/kie-platform-bom-6.3.0.Final.pom (java.io.IOException: Impossible to import module for file:/home/mark/.ivy2/cache/org.kie/kie-platform-bom/ivy-6.3.0.Final.xml.original. Import=org.jboss.dashboard-builder#dashboard-builder-bom;6.3.0.Final)
[ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/kie/kie-parent-with-dependencies/6.3.0.Final/kie-parent-with-dependencies-6.3.0.Final.pom (java.io.IOException: Impossible to import module for file:/home/mark/.ivy2/cache/org.kie/kie-parent-with-dependencies/ivy-6.3.0.Final.xml.original. Import=org.kie#kie-platform-bom;6.3.0.Final)
[ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/drools/drools/6.3.0.Final/drools-6.3.0.Final.pom (java.io.IOException: Impossible to load parent for file:/home/mark/.ivy2/cache/org.drools/drools/ivy-6.3.0.Final.xml.original. Parent=org.kie#kie-parent-with-dependencies;6.3.0.Final)
[ivy:resolve]   io problem while parsing ivy file: https://repo1.maven.org/maven2/org/drools/drools-core/6.3.0.Final/drools-core-6.3.0.Final.pom (java.io.IOException: Impossible to load parent for file:/home/mark/.ivy2/cache/org.drools/drools-core/ivy-6.3.0.Final.xml.original. Parent=org.drools#drools;6.3.0.Final)
[ivy:resolve]       module not found: org.drools#drools-core;6.3.0.Final

Следующий родительский модуль:

Имеет зависимость файла POM

<dependency>
  <groupId>org.jboss.dashboard-builder</groupId>
  <artifactId>dashboard-builder-bom</artifactId>
  <type>pom</type>
  <version>${version.org.jbpm.dashboard-builder}</version>
  <scope>import</scope>
</dependency>

Это, кажется, не существует в Maven Central

Не уверен, как работает Ivy, но если вы можете добавить туда дополнительные репозитории, добавьте https://repository.jboss.org/. Это должно решить проблему несуществующего org.jboss.dashboard-builder, который уже был отмечен Марком как источник проблемы.

Следующее помогло решить ту же проблему при использовании Gradle для управления зависимостями.

repositories {
    maven {
        url "https://repository.jboss.org"
    }
}
Другие вопросы по тегам