0

いくつかのレガシー コードを新しいバージョンに移植する作業を行っています。1.5x バージョンが 1.6x および 1.7x と互換性がない特定のモジュール (slf4j) の 1 つ、私の問題は、私のプロジェクトが依存するプロジェクトが classpath に jar として含まれていることです。このような問題を回避する方法はありますか?

4

2 に答える 2

2

pom に直接依存関係がある場合、Maven はそれを使用し、同じアーティファクトへの推移的な依存関係を省略します。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
    <version>2.12.1</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>

camel-core には推移的な依存関係 slf4j-api-1.6.6 がありますが、Maven は slf4j-api-1.7.5 を選択します

于 2013-10-15T15:09:39.977 に答える
0

私の問題を解決する方法は、私のプロジェクトが依存していたプロジェクトを再デプロイすることです。それは jar だったので、Maven 形式で再作成し、必要な除外ステートメントを追加して、そのレベルですべての推移的な依存関係を停止する必要がありました。これはベストプラクティスではないかもしれませんが、私の場合はうまくいきました。新しいバージョンのプロジェクトはすべてMavenベースの除外タグで十分だと思います

于 2013-10-15T17:55:34.360 に答える