Я использую плагин Maven Shade и получаю вывод, подобный следующему: mvn package
:
[WARNING] kryo-4.0.0.jar, kryo-2.21.jar define 91 overlapping classes:
, за которым следует:
[WARNING] maven-shade-plugin has detected that some class files are
[WARNING] present in two or more JARs.
[WARNING] single version of the class is copied to the uber jar.
[WARNING] Usually this is not harmful and you can skip these warnings,
[WARNING] otherwise try to manually exclude artifacts based on
[WARNING] mvn dependency:tree -Ddetail=true and the above output.
С другой стороны,Есть много других банок, для которых я ожидал бы получить такие предупреждения, но я не получаю.В частности, если я делаю mvn dependency:tree -Dverbose
, я получаю много выходных данных, таких как:
[INFO] | | +- (org.apache.commons:commons-lang3:jar:3.3.2:compile - omitted for conflict with 3.5)
Мой вопрос: почему некоторые случаи дублирующих классов приводят только к предупреждениям "перекрывающихся классов", тогда как другиеслучаи приводят только к информационным сообщениям "пропущено для конфликта"?