title: Cannot figure out which dependency in pom.xml file causing the deployment on openshift failed
body: <p>Here is my pom.xml file</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;
  &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;
      &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
      &lt;groupId&gt;com.vincent&lt;/groupId&gt;
      &lt;artifactId&gt;UploadExample&lt;/artifactId&gt;
      &lt;packaging&gt;war&lt;/packaging&gt;
      &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
      &lt;name&gt;UploadExample Maven Webapp&lt;/name&gt;
      &lt;url&gt;http://maven.apache.org&lt;/url&gt;
      &lt;properties&gt;
          &lt;springframework.version&gt;4.3.2.RELEASE&lt;/springframework.version&gt;
          &lt;spring-data-jpa.version&gt;1.10.2.RELEASE&lt;/spring-data-jpa.version&gt;
          &lt;hibernate.version&gt;5.2.2.Final&lt;/hibernate.version&gt;
          &lt;mysql.connector.version&gt;5.1.39&lt;/mysql.connector.version&gt;
      &lt;/properties&gt;
      &lt;dependencies&gt;
          &lt;!-- Spring --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-core&lt;/artifactId&gt;
              &lt;version&gt;${springframework.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-web&lt;/artifactId&gt;
              &lt;version&gt;${springframework.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt;
              &lt;version&gt;${springframework.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-tx&lt;/artifactId&gt;
              &lt;version&gt;${springframework.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.springframework&lt;/groupId&gt;
              &lt;artifactId&gt;spring-orm&lt;/artifactId&gt;
              &lt;version&gt;${springframework.version}&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Apache Commons FileUpload --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;commons-fileupload&lt;/groupId&gt;
              &lt;artifactId&gt;commons-fileupload&lt;/artifactId&gt;
              &lt;version&gt;1.3.2&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- Servlet+JSP+JSTL --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
              &lt;artifactId&gt;javax.servlet-api&lt;/artifactId&gt;
              &lt;version&gt;3.1.0&lt;/version&gt;
              &lt;scope&gt;provided&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.servlet&lt;/groupId&gt;
              &lt;artifactId&gt;jstl&lt;/artifactId&gt;
              &lt;version&gt;1.2&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;!-- Thumbnailator --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;net.coobird&lt;/groupId&gt;
              &lt;artifactId&gt;thumbnailator&lt;/artifactId&gt;
              &lt;version&gt;0.4.8&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- Apache Commons IO --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;commons-io&lt;/groupId&gt;
              &lt;artifactId&gt;commons-io&lt;/artifactId&gt;
              &lt;version&gt;2.5&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- SLF4J/Logback --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;ch.qos.logback&lt;/groupId&gt;
              &lt;artifactId&gt;logback-classic&lt;/artifactId&gt;
              &lt;version&gt;1.1.7&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;junit&lt;/groupId&gt;
              &lt;artifactId&gt;junit&lt;/artifactId&gt;
              &lt;version&gt;3.8.1&lt;/version&gt;
              &lt;scope&gt;test&lt;/scope&gt;
          &lt;/dependency&gt;
          &lt;!-- Hibernate --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
              &lt;artifactId&gt;hibernate-core&lt;/artifactId&gt;
              &lt;version&gt;${hibernate.version}&lt;/version&gt;
              &lt;exclusions&gt;
                  &lt;exclusion&gt;
                      &lt;groupId&gt;org.javassist&lt;/groupId&gt;
                      &lt;artifactId&gt;javassist&lt;/artifactId&gt;
                  &lt;/exclusion&gt;
              &lt;/exclusions&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;javax.transaction&lt;/groupId&gt;
              &lt;artifactId&gt;jta&lt;/artifactId&gt;
              &lt;version&gt;1.1&lt;/version&gt;
          &lt;/dependency&gt;
  
          &lt;dependency&gt;
              &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
              &lt;artifactId&gt;hibernate-entitymanager&lt;/artifactId&gt;
              &lt;version&gt;${hibernate.version}&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;!-- jsr303 validation --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;javax.validation&lt;/groupId&gt;
              &lt;artifactId&gt;validation-api&lt;/artifactId&gt;
              &lt;version&gt;1.1.0.Final&lt;/version&gt;
          &lt;/dependency&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;org.hibernate&lt;/groupId&gt;
              &lt;artifactId&gt;hibernate-validator&lt;/artifactId&gt;
              &lt;version&gt;${hibernate.version}&lt;/version&gt;
          &lt;/dependency&gt;
  
  
          &lt;!-- MySQL --&gt;
          &lt;dependency&gt;
              &lt;groupId&gt;mysql&lt;/groupId&gt;
              &lt;artifactId&gt;mysql-connector-java&lt;/artifactId&gt;
              &lt;version&gt;${mysql.connector.version}&lt;/version&gt;
          &lt;/dependency&gt;
      &lt;/dependencies&gt;
      &lt;build&gt;
          &lt;finalName&gt;UploadExample&lt;/finalName&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.tomcat.maven&lt;/groupId&gt;
                  &lt;artifactId&gt;tomcat7-maven-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.0&lt;/version&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
                  &lt;version&gt;3.1&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;source&gt;1.7&lt;/source&gt;
                      &lt;target&gt;1.7&lt;/target&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                  &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
                  &lt;version&gt;2.4&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;failOnMissingWebXml&gt;false&lt;/failOnMissingWebXml&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
          &lt;/plugins&gt;
      &lt;/build&gt;
      &lt;profiles&gt;
          &lt;profile&gt;
              &lt;!-- When built in OpenShift the openshift profile will be used when invoking 
                  mvn. --&gt;
              &lt;!-- Use this profile for any OpenShift specific customization your app 
                  will need. --&gt;
              &lt;!-- By default that is to put the resulting archive into the deployments 
                  folder. --&gt;
              &lt;!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html --&gt;
              &lt;id&gt;openshift&lt;/id&gt;
              &lt;build&gt;
                  &lt;finalName&gt;UploadExample&lt;/finalName&gt;
                  &lt;plugins&gt;
                      &lt;plugin&gt;
                          &lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;
                          &lt;version&gt;2.4&lt;/version&gt;
                          &lt;configuration&gt;
                              &lt;outputDirectory&gt;webapps&lt;/outputDirectory&gt;
                              &lt;warName&gt;UploadExample&lt;/warName&gt;
                          &lt;/configuration&gt;
                      &lt;/plugin&gt;
  
                  &lt;/plugins&gt;
              &lt;/build&gt;
          &lt;/profile&gt;
      &lt;/profiles&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>If I run my application in my local via eclipse, everything works fine. If I upload to openshift, the build was success, but in the logs, I see this:</p>
  
  <pre><code>Sep 26, 2016 3:16:53 PM org.apache.catalina.loader.WebappClassLoader validateJarFile
  INFO: validateJarFile(/var/lib/openshift/57e48b687628e1e4b4000017/jbossews/work/Catalina/localhost/UploadExample/WEB-INF/lib/el-api-2.2.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class
  Sep 26, 2016 3:17:00 PM org.apache.catalina.startup.ContextConfig processAnnotationsJar
  SEVERE: Unable to process Jar entry [javassist/ByteArrayClassPath.class] from Jar [jar:jndi:/localhost/UploadExample/WEB-INF/lib/javassist-3.20.0-GA.jar!/] for annotations
  java.io.EOFException
          at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
          at org.apache.tomcat.util.bcel.classfile.Utility.swallowMethodParameters(Utility.java:796)
          at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:171)
          at org.apache.tomcat.util.bcel.classfile.FieldOrMethod.&lt;init&gt;(FieldOrMethod.java:57)
          at org.apache.tomcat.util.bcel.classfile.Method.&lt;init&gt;(Method.java:71)
          at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:267)
          at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:127)
          at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2058)
          at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1934)
          at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1900)
          at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1885)
          at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1317)
          at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)
          at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
          at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
          at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
  
  
  
  
  
  ....
  </code></pre>
  
  <p>I did my research and realized it is dependency problem, but I cannot figure out which one cause that, I hope you can help me, thank you</p>