0

ファイル内のいくつかの Maven 依存関係が次の.pomようなエラーを引き起こしているのはなぜMissing artifact nonfree-lingpipe:lingpipe:jar:2.3.1ですか? すべての依存関係は .pom ファイルにリストされています。.m2 フォルダーにはすべての依存関係フォルダーがありますが、すべての jar はありません。したがって、nonfree-lingpipe:lingpipe:jar:2.3.1- には jar はありませんが、4.1.0. なぜmavenはそれをしなかったの2.3.1ですか?.pomファイルにバージョンが表示されず、名前のみが表示されます。

4

2 に答える 2

0

dependencyManagementの定義は、それが使用されるバージョンのアーティファクトのみを定義しますが、実際にはこのアーティファクトを使用しません。さらに、与えられた例:

<dependencies>
  <dependency>
    <groupId>nonfree-lingpipe</groupId>
    <artifactId>lingpipe:jar</artifactId>
    <version>2.3.1</version>
  </dependency>
</dependencies>

なぜなら、artifactId には決してコロンを含めてはならないからです。正しい方法は次のとおりです。

<dependencies>
  <dependency>
    <groupId>nonfree-lingpipe</groupId>
    <artifactId>lingpipe</artifactId>
    <version>2.3.1</version>
  </dependency>
</dependencies>

さらに、この依存関係を実際に使用するには、dependencyManagement ブロックの外部でこの依存関係を定義する必要があります。

于 2012-11-26T10:25:42.013 に答える
0

Maven の依存関係には、バージョン番号を指定する必要があります。一覧に表示されない場合は、POM またはその親の 1 つに依存関係管理要素が必要です。

<project>  
  ...
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>nonfree-lingpipe</groupId>
        <artifactId>lingpipe:jar</artifactId>
        <version>2.3.1</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  ...
</project>

4.1.0 に変更するには、依存関係の宣言でバージョンを明示的に指定するか、依存関係の管理セクションを調べてそこで変更を加える必要があります。

于 2012-11-26T09:08:02.040 に答える