title: Maven-shade-plugin, uber-jar and overlapping classes
body: <p>I would like to use Maven-shade-plugin to create uber-jar. But when I call <code>mvn package</code> command Maven reports that there are some overlapping classes. I am attaching all problematic overlapps, some of them are caused because older and new verion of a library (Log4J), but some of them seems to have the same classes - e.g. javax.mail and mailapi/smtp/imap et cetera.</p>
  
  <p>What is the best to do in this situation? Is there some key how to decide which overlapping is safe to ignore a which needs to be correct?</p>
  
  <pre><code> - 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: 
  </code></pre>
  
  <p><strong>EDIT:</strong> this application "A" uses as a Maven dependency my another Java application - I'll call  this app "B". This B application uses javax.mail ver 1.5.1. This library uses the first application too. But when I call mvn package command, Maven notices that <code>javax.mail-api-1.5.1.jar, javax.mail-1.5.1.jar define 135 overlappping classes</code>.</p>
  
  <p>Is this problem and if so, how to solve it or can I ignore it? </p>