問題:
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>
依存関係existsに Mavenリポジトリ (バージョンも正しい)。
Eclipse EE Neon 4.6.3、Apache Maven 3.3.9、Java 1.8.0_121を使用します。
settings.xml
フォルダーに~/.m2
がありません。
ローカルまたはその他のリポジトリを使用しません。
警告メッセージを注意深くお読みください:
Org.raml:jaxrs-code-generator:jar:2.0.0のPOMが欠落しており、利用可能な依存関係情報がありません
問題はjarではなく、欠落しているpom.xmlです。
pom.xmlには、Mjarがビルド中およびアプリケーション全体のパッケージング中にプルするこのjarに必要な依存関係がリストされています。 だから、あなたは本当にそれを必要とするかもしれません。
もちろん、この問題は他のMaven依存関係で発生する可能性があり、解決するアイデアは常に同じであることに注意してください。
ミュールのウェブサイト 関連する情報に加えて、非常によく文書化されています。
1)簡単な回避策:インターネットでアーティファクトのpom.xml
を探します
アーティファクトID、グループID、およびそのバージョンをググリングすると、一般に興味深い結果が得られます。それをダウンロードするためのmavenリポジトリリンクです。org.raml:jaxrs-code-generator:jar:2.0.0
依存関係の場合、Mavenラバリポジトリからpom.xml
をダウンロードできます。
2)単一のMavenプロジェクトのクリーンな回避策:リポジトリ宣言をpomに追加します。
あなたの場合、Mavenラバリポジトリを追加します。
<?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>
まれに、依存関係を宣言するpom.xml
がどこにもないことに注意してください。そのため、アーティファクトに依存関係が必要かどうかを確認する必要があります。
外部リポジトリを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>