"POM для ... отсутствует, информация о зависимостях недоступна", хотя она существует в репозитории Maven

:

зависимость не будет загружаться, даже если я скопировал ее из репозитория Maven.

когда я наведу курсор на зависимость в Eclipse, он предупреждает:"Maven Missing artifact org.raml:jaxrs-code-generator:jar:2.0.0".

когда я пытаюсь mvn install или mvn compile Он предупреждает: "[WARNING] The POM for org.raml:jaxrs-code-generator:jar:2.0.0 is missing, no dependency information available".

пробовал:

  • скачать jar на ~/.m2/repository/org/raml/jaxrs-code-generator/2.0.0 папка, затем обновление в редактор.

    • Когда Я install или compile он, кажется, игнорирует его.
  • под управлением mvn -U.

    • то же, что и с install или compile.

в-глубина:

    <dependency>
        <groupId>org.raml</groupId>
        <artifactId>jaxrs-code-generator</artifactId>
        <version>2.0.0</version>
    </dependency>
  • зависимость на Репозитории Maven (версия также правильная).

  • используя Eclipse ee Neon 4.6.3, Apache Maven 3.3.9, Java 1.8.0_121.

  • у меня нет settings.xml на .

  • Я не использую другие репозитории, локальные или другие.

2 ответов


внимательно прочитайте предупреждающее сообщение :

POM для org.raml:jaxrs-код-генератор: jar: 2.0.0 отсутствует, нет информация о зависимостях доступна

проблема не в банке, А пом.XML, который отсутствует.
ПФЛ.xml перечисляет необходимые зависимости для этого jar, которые Maven будет извлекать во время сборки и в целом упаковки вашего приложения. так что, возможно, Вам это действительно нужно.

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

сайт Мула очень хорошо, что в дополнение к информации, касающейся.


как решить ?

1) Быстрый обходной путь: поиск в интернете pom.xml артефакт

Googling идентификатор артефакта, идентификатор группы и его версия дает в целом интересный результат : ссылки репозитория maven для его загрузки.
В случае org.raml:jaxrs-code-generator:jar:2.0.0 зависимость, вы можете скачать pom.xml из хранилища мула Maven:

https://repository.mulesoft.org/nexus/content/repositories/releases/org/raml/jaxrs-code-generator/2.0.0/

2) чистое обходное решение для одного проекта Maven: добавление объявления репозитория в pom.

в вашем случае добавьте репозитории Maven mule :

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    ...
    <repositories>
        <repository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Repository</name>
            <url>http://repository.mulesoft.org/releases/</url>
            <layout>default</layout>
        </repository>
        <repository>
            <id>mulesoft-snapshots</id>
            <name>MuleSoft Snapshot Repository</name>
            <url>http://repository.mulesoft.org/snapshots/</url>
            <layout>default</layout>
        </repository>
    </repositories>
    ...
</project>

3) чистое обходное решение для любых проектов Maven : добавьте объявление репозитория в свой settings.xml

 <profile> 
   <repositories>
    ...
    <repository>
      <id>mulesoft-releases</id>
      <name>MuleSoft Repository</name>
      <url>http://repository.mulesoft.org/releases/</url>
      <layout>default</layout>
    </repository>
    <repository>
      <id>mulesoft-snapshots</id>
      <name>MuleSoft Snapshot Repository</name>
      <url>http://repository.mulesoft.org/snapshots/</url>
      <layout>default</layout>
    </repository>
     ...
  </repositories>     
</profile>

обратите внимание, что в некоторых редких случаях!--2--> объявление зависимостей нигде. Таким образом, вы должны определить, требует ли артефакт зависимостей.


вам нужно будет добавить внешний репозиторий в ваш pom, так как это использует Mulsoft-Release репозиторий не Maven Central

<project>
   ...
    <repositories>
        <repository>
            <id>mulesoft-releases</id>
            <name>MuleSoft Repository</name>
            <url>http://repository.mulesoft.org/releases/</url>
            <layout>default</layout>
        </repository>
    </repositories>
  ...
</project>

зависимость

Apache Maven-настройка нескольких репозиториев