3

私はMavenを初めて使用し、現在Eclipse用のm2eプラグインを使用しています。

質問1:

デフォルトの中央リポジトリでアーティファクト(atmosphere-runtime)を検索すると(プロジェクトを右クリック:Maven->依存関係を追加)、結果のリストが返されます。

ただし、依存関係を追加すると、次のエラーメッセージが表示されます。

Missing artifact org.atmosphere:atmosphere-runtime:bundle:1.0.2

Maven Webサイトでアーティファクトを検索すると、jarを手動で見つけてダウンロードできます(ここを参照)。プロジェクトのクリーンアップ/更新/再ロード、中央のMavenリポジトリの更新/再インデックス作成/再構築、およびEclipseの再起動を試みましたが、何も役に立たないようです。

このエラーが発生する理由はありますか?

質問2:

私がフォローしているチュートリアルでは、上記のアーティファクトをダウンロードするために、pomに次のリポジトリを追加することをお勧めします。

<repositories>
  <repository>
    <id>Sonatype snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
  </repository>
  <repository>
    <id>Sonatype releases</id>
    <url>https://oss.sonatype.org/content/repositories/releases</url>
  </repository>
</repositories>

これは機能し、pom.xmlファイルで依存関係を手動で指定すると、必要なアーティファクトをダウンロードできます。

ただし、Eclipse検索を使用してアーティファクトを検索しようとすると(プロジェクトを右クリック:Maven->依存関係を追加)、2つの新しいリポジトリから結果が返されません。

これらの2つの新しいリポジトリを検索に含めることは可能ですか?

4

2 に答える 2

2

あなたの最初の質問のために。Maven Centralには「jar」しかありませんが、代わりにバンドルが必要なようです。したがって、依存関係を「jar」に変更する必要があります。これは、依存関係を次のように定義することを意味します。

<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-runtime</artifactId>
    <version>1.0.2</version>
</dependency>

それ以外の:

<dependency>
    <groupId>org.atmosphere</groupId>
    <artifactId>atmosphere-runtime</artifactId>
    <version>1.0.2</version>
    <type>bundle</type>
</dependency>

2番目の質問で問題を解決する最善の方法は、Nexusなどのリポジトリマネージャーを使用し、リポジトリマネージャーでこれら2つのリポジトリを定義することです。https://oss.sonatype.org/content/repositories/snapshotsは、Maven Centralにあるアーティファクトのスナップショットを定義しますが、2番目はMavenCentralに定期的に同期されるリポジトリです。したがって、私の意見では、これら2つのリポジトリを別々に使用する必要はありません。上記の2つのリポジトリのコンテンツを検索する場合は、https ://oss.sonatype.org/の検索を使用できます。ここでは、検索にも使用できるNexusリポジトリにアクセスできます。

于 2012-10-17T21:10:57.000 に答える
0

あなたの2.質問に。ビューを展開Project RepositoriesMaven Repositories、追加されたリポジトリを右クリックしてチェックしEnable Full Indexます。

あなたの1.質問に。有効になっていない場合は、中央リポジトリの完全なインデックスを有効にして、Update Index/を試してくださいRebuild Index

于 2012-10-17T22:13:39.663 に答える