Maven-shade-pluginを使用してuber-jarを作成したいと考えています。しかし、mvn package
というコマンドを呼び出すと、いくつかのオーバーラップするクラスがあるとMavenは報告します。すべての問題のあるオーバーラップを添付していますが、ライブラリの古いバージョンと新しいバージョン(Log4J)が原因で発生しますが、その一部は同じクラスを持つようです。 javax.mailとmailapi/smtp/imapなどがあります。Maven-shade-plugin、uber-jarおよびオーバーラップクラス
この状況では、どうすればよいですか?重複が正しいものを無視するのが安全であるかどうかを決めるには、いくつかの鍵がありますか?
- mailapi-1.4.3.jar, javax.mail-1.5.0.jar define 166 overlappping classes
- spring-2.5.6.SEC03.jar, spring-tx-3.1.4.RELEASE.jar define 176 overlappping classes:
- spring-beans-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 283 overlappping classes:
- slf4j-log4j12-1.7.5.jar, slf4j-impl-2.0-beta2.jar define 3 overlappping classes:
- spring-2.5.6.SEC03.jar, spring-context-support-3.1.4.RELEASE.jar define 55 overlappping classes:
- aopalliance-1.0.jar, spring-2.5.6.SEC03.jar define 9 overlappping classes:
- imap-1.5.0.jar, javax.mail-1.5.0.jar define 87 overlappping classes:
- commons-logging-api-1.1.jar, commons-logging-1.1.3.jar define 19 overlappping classes:
- spring-2.5.6.SEC03.jar, spring-core-3.1.4.RELEASE.jar define 161 overlappping classes:
- spring-2.5.6.SEC03.jar, spring-context-3.1.4.RELEASE.jar define 326 overlappping classes:
- log4j12-api-2.0-beta3.jar, log4j-1.2.17.jar define 23 overlappping classes:
- spring-aop-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 237 overlappping classes:
- spring-jdbc-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 239 overlappping classes:
- quartz-1.8.6.jar, quartz-jobs-2.2.1.jar define 15 overlappping classes:
- smtp-1.5.0.jar, javax.mail-1.5.0.jar define 17 overlappping classes:
- spring-asm-3.1.4.RELEASE.jar, spring-2.5.6.SEC03.jar define 31 overlappping classes:
EDIT:このアプリケーション "" Mavenの依存関係として、私の別のJavaアプリケーションを使用しています - 私はこのアプリ "B" と呼ぶことにします。このBアプリケーションは、javax.mail ver 1.5.1を使用します。このライブラリは最初のアプリケーションも使用します。しかし、私がmvn packageコマンドを呼び出すと、Mavenはそれに気づくでしょうjavax.mail-api-1.5.1.jar, javax.mail-1.5.1.jar define 135 overlappping classes
。
この問題はありますか?それを解決するにはどうすればいいですか、それとも無視できますか?
私は元の投稿にもう1つの質問を追加しました。 – user2148736