Maven-shadow-plugin, uber-jar e classes sobrepostas [duplicado]

Esta pergunta já tem uma resposta aqui:

Maven build [WARNING], temos uma classe duplicada 8 respostas

Gostaria de usar o Maven-shade-plugin para criar o uber-jar. Mas quando ligo paramvn package comando Maven relata que existem algumas classes sobrepostas. Estou anexando todas as sobreposições problemáticas, algumas delas são causadas por versões novas e mais antigas de uma biblioteca (Log4J), mas algumas parecem ter as mesmas classes - por exemplo javax.mail e mailapi / smtp / imap e outros.

Qual é o melhor a fazer nesta situação? Existe alguma chave para decidir qual sobreposição é segura para ignorar uma que precisa estar correta?

 - 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: 

EDITAR este aplicativo "A" usa como dependência do Maven meu outro aplicativo Java - chamarei esse aplicativo de "B". Este aplicativo B usa o javax.mail ver 1.5.1. Esta biblioteca também usa o primeiro aplicativo. Mas quando eu chamo o comando mvn package, o Maven percebe quejavax.mail-api-1.5.1.jar, javax.mail-1.5.1.jar define 135 overlappping classes.

Esse problema e, em caso afirmativo, como resolvê-lo ou posso ignorá-lo?

questionAnswers(3)

yourAnswerToTheQuestion