2

以下のエラーが表示されます。「依存関係へのパス」とは何を指し、なぜ 3 つの場所があるのですか?

Maven の経験はほとんどありません。

Missing:
----------
1) com.sun.jmx:jmxri:jar:1.2.1

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:
      mvn deploy:deploy-file -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) com.services:Common:jar:1.0.0.0
        2) log4j:log4j:jar:1.2.15
        3) com.sun.jmx:jmxri:jar:1.2.1
4

2 に答える 2

2

共通には Log4J が必要です。Log4J には JMX が必要です。3 つの「場所」があるのは、それが依存パスの長さだからです。依存関係はパスです(多かれ少なかれ)「なぜこのライブラリが必要になったのですか?」

(ただし、そうではありません。Log4J 依存関係をアップグレードまたはダウングレードします。IIRC これは 1.2.16 で修正されており、1.2.mumble より前には存在しませんでした。)

于 2012-05-01T21:02:27.520 に答える
0

この依存関係へのパスは、例外のスタックトレースのようなものです。どの依存関係の推移がエラーを引き起こすかを示します。Log4jのケースは、実際にはどういうわけか具体的です。彼らは 1.2.15 バージョンで依存関係を台無しにし、実際には必要以上に多くを必要としました。正直なところ、これに対してできる最善のことは、実際に必要なライブラリに推移的に依存する 1.2.16 バージョンを使用することです。

jmxriSun の Java 時代に由来するアーティファクトには、ライセンスの問題があります。そのため、これまでのところ、Maven の公開リポジトリでこのようなものを利用することはできません。

于 2012-05-01T21:05:48.293 に答える