Maven dependency:tree doesn't show all transitive dependencies - maven

I was trying to parse some dependency trees via maven dependency:tree, and found some interesting cases:
I made a pom.xml to install org.glassfish.jersey.containers:jersey-container-servlet:2.19, here is the content:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId> fake_id </groupId>
<artifactId> fake_id </artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.19</version>
</dependency>
</dependencies>
</project>
Before installing this package, I removed all folders in /home/${user}/.m2/repository in case the result to be affected by existing environment.
Then I ran mvn dependency:tree -Dverbose, I got the following dependency tree:
fake_id:fake_id:jar:1.0.0
[INFO] \- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.19:compile
[INFO] +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.19:compile
[INFO] | +- org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile
[INFO] | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.jersey.core:jersey-server:jar:2.19:compile - omitted for duplicate)
[INFO] | \- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] +- org.glassfish.jersey.core:jersey-common:jar:2.19:compile
[INFO] | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] | +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] | +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.19:compile
[INFO] | +- org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile
[INFO] | | +- org.glassfish.hk2:hk2-utils:jar:2.4.0-b25:compile
[INFO] | | \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b25:compile
[INFO] | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile
[INFO] | | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-utils:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] | \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.19:compile
[INFO] | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | +- org.glassfish.jersey.core:jersey-client:jar:2.19:compile
[INFO] | | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | \- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] | +- org.glassfish.jersey.media:jersey-media-jaxb:jar:2.19:compile
[INFO] | | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | \- (org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile - omitted for duplicate)
[INFO] | +- (javax.annotation:javax.annotation-api:jar:1.2:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] \- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
However, both org.glassfish.hk2:hk2-api:2.4.0-b25 and org.glassfish.hk2:hk2-utils:2.4.0-b25 have a direct dependency on javax.inject:javex.inject, but javax.inject:javex.injectdidn't show in the output dependency tree. Dependency section in the two pom.xml looks like:
...
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
</dependency>
...
To validate whether javax.inject:javax.inject was an real dependency in the tree, I removed the /home/${user}/.m2/javax/inject folder in case , and ran mvn dependency:tree -Dverbose again, and I found it indeed has downloaded javax.inject:javax.inject:1 again, here is the log.
[INFO] Building fake_id 1.0.0
[INFO] ------------------------------------------------------------------------
Downloading: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom
Downloaded: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom (612 B at 0.5 KB/sec)
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) # fake_id ---
[INFO] fake_id:fake_id:jar:1.0.0
[INFO] \- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.19:compile
[INFO] +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.19:compile
[INFO] | +- org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile
[INFO] | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.jersey.core:jersey-server:jar:2.19:compile - omitted for duplicate)
[INFO] | \- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] +- org.glassfish.jersey.core:jersey-common:jar:2.19:compile
[INFO] | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] | +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] | +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.19:compile
[INFO] | +- org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile
[INFO] | | +- org.glassfish.hk2:hk2-utils:jar:2.4.0-b25:compile
[INFO] | | \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b25:compile
[INFO] | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile
[INFO] | | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-utils:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] | \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.19:compile
[INFO] | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | +- org.glassfish.jersey.core:jersey-client:jar:2.19:compile
[INFO] | | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | \- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile - omitted for duplicate)
[INFO] | +- org.glassfish.jersey.media:jersey-media-jaxb:jar:2.19:compile
[INFO] | | +- (org.glassfish.jersey.core:jersey-common:jar:2.19:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | | \- (org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile - omitted for duplicate)
[INFO] | +- (javax.annotation:javax.annotation-api:jar:1.2:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | +- (org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile - omitted for duplicate)
[INFO] | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] \- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.439 s
[INFO] Finished at: 2020-03-17T14:58:44+08:00
[INFO] Final Memory: 20M/596M
As far as I have explored, I didn't find any other constraints on javax.inject:javax.inject (such as exclusion, option, etc.).
So I what I want to ask is why javax.inject:javax.inject are ignored by mvn dependency:tree, and is this any solution that I can get this package in dependency tree?
Thanks for your time and kind reply!
To make up the result without -Dverbose:
[INFO] Building fake_id 1.0.0
[INFO] ------------------------------------------------------------------------
Downloading: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom
Downloaded: https://repo.maven.apache.org/maven2/javax/inject/javax.inject/1/javax.inject-1.pom (612 B at 0.5 KB/sec)
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) # fake_id ---
[INFO] fake_id:fake_id:jar:1.0.0
[INFO] \- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.19:compile
[INFO] +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.19:compile
[INFO] | \- org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25:compile
[INFO] +- org.glassfish.jersey.core:jersey-common:jar:2.19:compile
[INFO] | +- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] | +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.19:compile
[INFO] | +- org.glassfish.hk2:hk2-api:jar:2.4.0-b25:compile
[INFO] | | +- org.glassfish.hk2:hk2-utils:jar:2.4.0-b25:compile
[INFO] | | \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b25:compile
[INFO] | +- org.glassfish.hk2:hk2-locator:jar:2.4.0-b25:compile
[INFO] | | \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] | \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
[INFO] +- org.glassfish.jersey.core:jersey-server:jar:2.19:compile
[INFO] | +- org.glassfish.jersey.core:jersey-client:jar:2.19:compile
[INFO] | +- org.glassfish.jersey.media:jersey-media-jaxb:jar:2.19:compile
[INFO] | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] \- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

The description of the verbose option says (https://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html):
Whether to include omitted nodes in the serialized dependency tree. Notice this feature actually uses Maven 2 algorithm and may give wrong results when used with Maven 3

Related

Hibernate validator issue in spring boot on PCF

Deployment to Pivotal cloud foundry of my spring boot app fails with the following error:
Error creating bean with name 'tomcatEmbeddedServletContainerFactory' defined in class path resource [org/springframework/boot/autoconfigure/web/EmbeddedServletContainerAutoConfiguration$EmbeddedTomcat.class]:
java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl
Using its java buildpack 4.17.2
Problem only in cloud foundry deployment, locally works fine.
Cleaned up dependencies, using spring boot 1.5.19 and its started validator.
How to get rid of this missing dependency? spring-boot-starter-validation includes hibernate validator.
[INFO] +- org.springframework.boot:spring-boot-starter:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:1.5.19.RELEASE:compile
[INFO] | | +- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO] | | \- org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
[INFO] | +- org.springframework:spring-core:jar:4.3.22.RELEASE:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.17:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.19.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.37:compile
[INFO] | | | \- org.apache.tomcat:tomcat-annotations-api:jar:8.5.37:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.37:compile
[INFO] | +- org.springframework:spring-web:jar:4.3.22.RELEASE:compile
[INFO] | | \- org.springframework:spring-beans:jar:4.3.22.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:4.3.22.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.3.22.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-validation:jar:1.5.19.RELEASE:compile
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.37:compile
[INFO] | \- org.hibernate:hibernate-validator:jar:5.3.6.Final:compile
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] | \- com.fasterxml:classmate:jar:1.3.1:compile
[INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-aop:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.5.19.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.3.22.RELEASE:compile
[INFO] | +- org.hibernate:hibernate-core:jar:5.0.12.Final:compile
[INFO] | | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] | | +- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | +- org.jboss:jandex:jar:2.0.0.Final:compile
[INFO] | | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
[INFO] | +- org.hibernate:hibernate-entitymanager:jar:5.0.12.Final:compile
[INFO] | +- javax.transaction:javax.transaction-api:jar:1.2:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:1.11.18.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons:jar:1.13.18.RELEASE:compile
[INFO] | | +- org.springframework:spring-orm:jar:4.3.22.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:4.3.22.RELEASE:compile
[INFO] | \- org.springframework:spring-aspects:jar:4.3.22.RELEASE:compile
[INFO] +- org.liquibase:liquibase-core:jar:3.6.3:compile
[INFO] | \- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] +- org.springframework.boot:spring-boot-starter-security:jar:1.5.19.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.22.RELEASE:compile
[INFO] | +- org.springframework.security:spring-security-config:jar:4.2.11.RELEASE:compile
[INFO] | | \- org.springframework.security:spring-security-core:jar:4.2.11.RELEASE:compile
[INFO] | \- org.springframework.security:spring-security-web:jar:4.2.11.RELEASE:compile
[INFO] +- wsl-java-validate:wslvalidate4:jar:4.0.1:compile
[INFO] +- wsl-java-validate:asn1:jar:4.0.1:compile
[INFO] +- wsl-java-validate:jsafe:jar:4.0.1:compile
[INFO] +- wsl-java-validate:certj:jar:4.0.1:compile
[INFO] +- org.aspectj:aspectjweaver:jar:1.8.6:compile
[INFO] +- javax.ws.rs:javax.ws.rs-api:jar:2.0.1:compile
[INFO] +- org.springframework.security:spring-security-jwt:jar:1.0.9.RELEASE:compile
[INFO] | \- org.bouncycastle:bcpkix-jdk15on:jar:1.56:compile
[INFO] | \- org.bouncycastle:bcprov-jdk15on:jar:1.56:compile
[INFO] +- org.springframework.boot:spring-boot-starter-quartz:jar:2.1.4.RELEASE:compile
[INFO] | \- org.quartz-scheduler:quartz:jar:2.3.1:compile
[INFO] | +- com.mchange:mchange-commons-java:jar:0.2.15:compile
[INFO] | \- com.zaxxer:HikariCP-java7:jar:2.4.13:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.5.19.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:1.5.19.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.19.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.2.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.2.1:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.1:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.3:test
[INFO] | +- org.assertj:assertj-core:jar:2.6.0:test
[INFO] | \- org.springframework:spring-test:jar:4.3.22.RELEASE:test
EDIT:
FIXED. Turns out it has been a problem caused by below jboss libraries I have picked up from another module of my webapp.
After excluding below libraries from target jar file, all works as expected.
Still strange my local deployments did not detect similar hibernate validator issues, need to understand more diffs between PCF java build packs and local java runtime.
[INFO] | +- com.sun.xml.messaging.saaj:saaj-impl:jar:1.3.2:compile
[INFO] | | \- javax.xml.soap:saaj-api:jar:1.3:compile
[INFO] | +- xml-security:xmlsec:jar:1.3.0:compile
[INFO] | +- com.sun.xml.rpc:jaxrpc-impl:jar:1.1.3_01:compile
[INFO] | +- com.sun.xml.rpc:jaxrpc-spi:jar:1.1.3_01:compile
[INFO] | +- com.sun.xml.fastinfoset:FastInfoset:jar:1.0.2:compile
[INFO] | +- jboss:jbossws-core:jar:1.0.4.GA:compile
[INFO] | +- jboss:jboss-common-client:jar:4.0.4.GA:compile
[INFO] | +- jboss.jbossws:jboss-jaxws-ext:jar:3.0.1-native-2.0.4.GA:compile
[INFO] | \- org.jboss:jbossxb:jar:2.0.3.GA:compile
[INFO] | +- org.jboss.logging:jboss-logging-spi:jar:2.0.5.GA:compile
[INFO] | +- org.jboss:jboss-common-core:jar:2.2.9.GA:compile
[INFO] | +- org.jboss:jboss-reflect:jar:2.0.2.GA:compile
[INFO] | +- xml-apis:xml-apis:jar:1.3.04:compile
[INFO] | +- xerces:xercesImpl:jar:2.9.1:compile
[INFO] | +- com.wutka:dtdparser:jar:1.21:compile
[INFO] | \- sun-jaxb:jaxb-api:jar:2.1.9:compile

java.lang.annotation.AnnotationFormatError in Spring Redis integration

I have developed a library (smartconnect-commons) which has integration with redis caching using spring-data-redis. This library can be plugged-in with any application which ever wants to use redis. JUnit tests in that library are successful. No issues so far.
Now I am using above library as a dependency in a Spring boot app. When running the spring boot app, it is failed with application context initialization errors.
2017-08-17 10:38:25,118 [main] ERROR org.springframework.boot.SpringApplication - - Application startup failed
java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.redis.repository.configuration.EnableRedisRepositories.repositoryFactoryBeanClass()
at java.lang.reflect.Method.getDefaultValue(Method.java:612)
at sun.reflect.annotation.AnnotationType.<init>(AnnotationType.java:132)
at sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:85)
at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:266)
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120)
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72)
at java.lang.Class.createAnnotationData(Class.java:3521)
at java.lang.Class.annotationData(Class.java:3510)
at java.lang.Class.getAnnotations(Class.java:3446)
at org.springframework.core.type.StandardAnnotationMetadata.<init>(StandardAnnotationMetadata.java:68)
at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.getConfigurationSource(AbstractRepositoryConfigurationSourceSupport.java:65)
at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:58)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:354)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:143)
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:320)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:270)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
at com.adp.smartconnect.SmartconnectWPInitializer.main(SmartconnectWPInitializer.java:32)
Looks like there is a mis match with spring dependency versions, I spent lot of time but could not figure out that. Please see dependency tree of spring boot app.
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) # smartconnect-wage-payments-writer ---
[INFO] com.adp.smartconnect:smartconnect-wage-payments-writer:war:1.0.0-SNAPSHOT
[INFO] +- com.adp.smartconnect:smartconnect-config:jar:2.3.42:compile
[INFO] | +- org.mule.modules:mule-module-mongo:jar:5.0.999:compile
[INFO] | \- org.mongodb:mongo-java-driver:jar:3.4.2:compile
[INFO] +- com.adp.smartconnect:smartconnect-commons:jar:1.0.9-SNAPSHOT:compile
[INFO] | +- org.springframework:spring-web:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-redis:jar:1.8.3.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-keyvalue:jar:1.2.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-oxm:jar:4.3.8.RELEASE:compile
[INFO] | | +- org.springframework:spring-context-support:jar:4.3.8.RELEASE:compile
[INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
[INFO] | +- redis.clients:jedis:jar:2.9.0:compile
[INFO] | | \- org.apache.commons:commons-pool2:jar:2.4.2:compile
[INFO] | +- org.springframework:spring-core:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework:spring-test:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-mongodb:jar:1.10.3.RELEASE:compile
[INFO] | | +- org.springframework:spring-expression:jar:4.3.8.RELEASE:compile
[INFO] | | \- org.springframework.data:spring-data-commons:jar:1.13.3.RELEASE:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.8.8:compile
[INFO] | +- org.json:json:jar:20140107:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.8:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[INFO] | +- com.adp.avs.domain:cdm:jar:1.0.9:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-jsonSchema:jar:2.8.8:compile
[INFO] | \- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
[INFO] +- com.adp.smartconnect:avs-prod-payload:jar:2.3.3:compile
[INFO] | +- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2.2:compile
[INFO] | +- io.swagger:swagger-annotations:jar:1.5.3:compile
[INFO] | +- org.projectlombok:lombok:jar:1.16.16:compile
[INFO] | +- com.adp.smartconnect:smartconnect-mongo-cdm-library-cdm-0.9:jar:1.0.90:compile
[INFO] | | +- org.apache.commons:commons-collections4:jar:4.1:compile
[INFO] | | \- org.mule.modules:smartconnect-tracking-service-connector-cdm-0.9:jar:1.0.90:compile
[INFO] | | \- org.mule.tools.devkit:mule-devkit-shade:jar:3.8.0:compile
[INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.7:compile
[INFO] | +- org.apache.logging.log4j:log4j-core:jar:2.7:compile
[INFO] | \- ch.qos.logback:logback-classic:jar:1.1.11:compile
[INFO] | \- ch.qos.logback:logback-core:jar:1.1.11:compile
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.5.3.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:1.5.3.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:1.5.3.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.5.3.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:1.5.3.RELEASE:compile
[INFO] | | | +- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO] | | | \- org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.17:runtime
[INFO] | +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.3.RELEASE:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.14:compile
[INFO] | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.14:compile
[INFO] | | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.14:compile
[INFO] | +- org.hibernate:hibernate-validator:jar:5.3.5.Final:compile
[INFO] | | +- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] | | +- org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
[INFO] | | \- com.fasterxml:classmate:jar:1.3.3:compile
[INFO] | \- org.springframework:spring-webmvc:jar:4.3.8.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.5.3.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:1.5.3.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.3.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.2.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.2.1:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.1:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.3:test
[INFO] | +- org.assertj:assertj-core:jar:2.6.0:test
[INFO] | +- org.mockito:mockito-core:jar:1.10.19:test
[INFO] | | \- org.objenesis:objenesis:jar:2.1:test
[INFO] | +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.3:test
[INFO] | \- org.skyscreamer:jsonassert:jar:1.4.0:test
[INFO] | \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:test
[INFO] +- com.typesafe.akka:akka-actor_2.11:jar:2.5.0:compile
[INFO] | +- org.scala-lang:scala-library:jar:2.11.8:compile
[INFO] | +- com.typesafe:config:jar:1.3.1:compile
[INFO] | \- org.scala-lang.modules:scala-java8-compat_2.11:jar:0.7.0:compile
[INFO] +- com.typesafe.akka:akka-remote_2.11:jar:2.5.0:compile
[INFO] | +- com.typesafe.akka:akka-stream_2.11:jar:2.5.0:compile
[INFO] | | +- org.reactivestreams:reactive-streams:jar:1.0.0:compile
[INFO] | | \- com.typesafe:ssl-config-core_2.11:jar:0.2.1:compile
[INFO] | | \- org.scala-lang.modules:scala-parser-combinators_2.11:jar:1.0.4:compile
[INFO] | +- com.typesafe.akka:akka-protobuf_2.11:jar:2.5.0:compile
[INFO] | +- io.netty:netty:jar:3.10.6.Final:compile
[INFO] | +- io.aeron:aeron-driver:jar:1.2.3:compile
[INFO] | \- io.aeron:aeron-client:jar:1.2.3:compile
[INFO] | \- org.agrona:agrona:jar:0.9.3:compile
[INFO] +- com.typesafe.akka:akka-cluster_2.11:jar:2.5.0:compile
[INFO] +- com.typesafe.akka:akka-testkit_2.11:jar:2.5.0:compile
[INFO] +- com.typesafe.akka:akka-slf4j_2.11:jar:2.5.0:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] +- javax.jms:javax.jms-api:jar:2.0:compile
[INFO] +- com.ibm.mq:mqallclient:jar:8.0:compile
[INFO] +- org.springframework:spring-jms:jar:4.3.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework:spring-messaging:jar:4.3.8.RELEASE:compile
[INFO] | \- org.springframework:spring-tx:jar:4.3.8.RELEASE:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.0:compile
[INFO] +- commons-io:commons-io:jar:2.5:compile
[INFO] +- commons-configuration:commons-configuration:jar:1.6:compile
[INFO] | +- commons-lang:commons-lang:jar:2.4:compile
[INFO] | +- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] | \- commons-digester:commons-digester:jar:2.1:compile
[INFO] | \- commons-beanutils:commons-beanutils:jar:1.9.3:compile
[INFO] +- org.mockito:mockito-all:jar:1.10.19:test
[INFO] +- org.powermock:powermock-api-mockito:jar:1.7.0:test
[INFO] | \- org.powermock:powermock-api-mockito-common:jar:1.7.0:test
[INFO] | \- org.powermock:powermock-api-support:jar:1.7.0:test
[INFO] +- org.powermock:powermock-module-junit4:jar:1.7.0:test
[INFO] | \- org.powermock:powermock-module-junit4-common:jar:1.7.0:test
[INFO] | +- org.powermock:powermock-reflect:jar:1.7.0:test
[INFO] | \- org.powermock:powermock-core:jar:1.7.0:test
[INFO] | \- org.javassist:javassist:jar:3.21.0-GA:test
[INFO] \- junit:junit:jar:4.12:test
I observed that spring-data-redis module is not working with spring boot 1.5.3 version. So when I upgraded spring boot version to 1.5.6, issue is resolved.
I had the same problem.
[ERROR] [org.springframework.boot.SpringApplication:771] Application startup failed
java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.springframework.data.redis.repository.configuration.EnableRedisRepositories.repositoryFactoryBeanClass()
That is because I pull some new code from git, which including code about redis, need the spring-boot-starter-data-redis library.
As the problems given by IDEA, I press alt+enter to auto import this library.
So the problem comes.
I finally click "In IDEA menu File -->Project Structure->Project Settings-->Libraries"
I found the version here is not the same version in build.gradle.
I guess this version maybe mismatch the other libraries of spring boot.
So I remove this library and try to run gradle command to build the project.
I solved the problem in this way.

Where is the slf4j binding?

I want to configure logging correctly in my project and removed the omnipresent warning
SLF4J: Found binding in [jar:file:/home/richter/.m2/repository/ch/qos/logback/logback-classic/1.1.8/logback-classic-1.1.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/richter/.m2/repository/org/glassfish/extras/glassfish-embedded-all/3.2-b06/glassfish-embedded-all-3.2-b06.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
by excluding logging implementations through Maven exclusions. Now, I ended up with
SLF4J: The requested version 1.5.6 by your slf4j binding is not compatible with [1.6, 1.7]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
The referenced website paragraph doesn't contain any hints what to do and existing questions, like Exception thrown while using logback/slf4j, suggest to do what I did afaik. My mvn dependency:tree is now
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) # project1-web ---
[INFO] richtercloud:project1-web:war:1.0-SNAPSHOT
[INFO] +- richtercloud:project1-jar:jar:1.0-SNAPSHOT:compile
[INFO] | +- org.eclipse.persistence:eclipselink:jar:2.5.2:compile
[INFO] | | +- org.eclipse.persistence:javax.persistence:jar:2.1.0:compile
[INFO] | | \- org.eclipse.persistence:commonj.sdo:jar:2.1.1:compile
[INFO] | +- org.eclipse.persistence:org.eclipse.persistence.jpa.modelgen.processor:jar:2.5.2:compile
[INFO] | | +- org.eclipse.persistence:org.eclipse.persistence.core:jar:2.5.2:compile
[INFO] | | | \- org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.5.2:compile
[INFO] | | \- org.eclipse.persistence:org.eclipse.persistence.jpa:jar:2.5.2:compile
[INFO] | | +- org.eclipse.persistence:org.eclipse.persistence.antlr:jar:2.5.2:compile
[INFO] | | \- org.eclipse.persistence:org.eclipse.persistence.jpa.jpql:jar:2.5.2:compile
[INFO] | +- commons-validator:commons-validator:jar:1.4.0:compile
[INFO] | | +- commons-beanutils:commons-beanutils:jar:1.8.3:compile
[INFO] | | \- commons-digester:commons-digester:jar:1.8:compile
[INFO] | +- org.jscience:jscience:jar:4.3.1:compile
[INFO] | | \- org.javolution:javolution:jar:5.2.3:compile
[INFO] | +- org.apache.solr:solr-solrj:jar:6.5.0:compile
[INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.4.1:compile
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.4.1:compile
[INFO] | | +- org.apache.httpcomponents:httpmime:jar:4.4.1:compile
[INFO] | | +- org.apache.zookeeper:zookeeper:jar:3.4.6:compile
[INFO] | | +- org.codehaus.woodstox:stax2-api:jar:3.1.4:compile
[INFO] | | +- org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:compile
[INFO] | | \- org.noggit:noggit:jar:0.6:compile
[INFO] | +- javax:javaee-api:jar:7.0:compile
[INFO] | | \- com.sun.mail:javax.mail:jar:1.5.0:compile
[INFO] | | \- javax.activation:activation:jar:1.1:compile
[INFO] | +- richtercloud:message-handler:jar:1.0-SNAPSHOT:compile
[INFO] | | +- org.apache.commons:commons-lang3:jar:3.4:compile
[INFO] | | \- com.getsentry.raven:raven:jar:7.8.1:compile
[INFO] | | \- com.fasterxml.jackson.core:jackson-core:jar:2.7.3:compile
[INFO] | \- richtercloud:message-handler-raven-bug-handler:jar:1.0-SNAPSHOT:compile
[INFO] +- org.primefaces:primefaces:jar:6.1:compile
[INFO] +- net.glxn:qrgen:jar:1.4:compile
[INFO] | \- com.google.zxing:javase:jar:3.0.0:compile
[INFO] | \- com.google.zxing:core:jar:3.0.0:compile
[INFO] +- net.sf.barcode4j:barcode4j-light:jar:2.1:compile
[INFO] +- com.google.guava:guava:jar:18.0:compile
[INFO] +- junit:junit:jar:4.12:test
[INFO] +- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- richtercloud:validation-tools:jar:1.0-SNAPSHOT:compile
[INFO] +- org.httpunit:httpunit:jar:1.7.2:test
[INFO] | +- rhino:js:jar:1.6R5:test
[INFO] | +- nekohtml:nekohtml:jar:0.9.5:test
[INFO] | +- javax.servlet:servlet-api:jar:2.4:test
[INFO] | +- net.sf.jtidy:jtidy:jar:r938:test
[INFO] | \- xerces:xmlParserAPIs:jar:2.6.1:test
[INFO] +- commons-io:commons-io:jar:2.5:compile
[INFO] +- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-javaee:jar:2.0.0-alpha-10:test
[INFO] | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-base:jar:2.0.0-alpha-10:compile
[INFO] +- org.jboss.jsfunit:jsfunit-arquillian:jar:2.0.0.Beta3-SNAPSHOT:test
[INFO] | +- org.jboss.jsfunit:jboss-jsfunit-core:jar:2.0.0.Beta3-SNAPSHOT:test
[INFO] | | +- net.sourceforge.htmlunit:htmlunit:jar:2.8:test
[INFO] | | | \- commons-codec:commons-codec:jar:1.4:test
[INFO] | | +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.8:test
[INFO] | | +- org.apache.james:apache-mime4j:jar:0.6:test
[INFO] | | +- commons-lang:commons-lang:jar:2.4:test
[INFO] | | +- commons-collections:commons-collections:jar:3.2.1:test
[INFO] | | +- net.sourceforge.cssparser:cssparser:jar:0.9.5:test
[INFO] | | | \- org.w3c.css:sac:jar:1.3:test
[INFO] | | +- net.sourceforge.nekohtml:nekohtml:jar:1.9.14:test
[INFO] | | \- xalan:xalan:jar:2.7.1:test
[INFO] | | \- xalan:serializer:jar:2.7.1:test
[INFO] | +- org.jboss.shrinkwrap:shrinkwrap-api:jar:1.2.6:test
[INFO] | \- org.jboss.arquillian.protocol:arquillian-protocol-servlet:jar:1.1.13.Final:test
[INFO] | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:jar:2.0.0-alpha-10:compile
[INFO] +- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-impl-javaee:jar:2.0.0-alpha-10:compile
[INFO] | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-impl-base:jar:2.0.0-alpha-10:compile
[INFO] +- xerces:xercesImpl:jar:2.11.0:test
[INFO] | \- xml-apis:xml-apis:jar:1.4.01:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] +- javax:javaee-web-api:jar:7.0:provided
[INFO] +- org.powermock:powermock-module-junit4:jar:1.7.0RC4:test
[INFO] | \- org.powermock:powermock-module-junit4-common:jar:1.7.0RC4:test
[INFO] | +- org.powermock:powermock-reflect:jar:1.7.0RC4:test
[INFO] | \- org.powermock:powermock-core:jar:1.7.0RC4:test
[INFO] | \- org.javassist:javassist:jar:3.21.0-GA:test
[INFO] +- org.powermock:powermock-api-mockito2:jar:1.7.0RC4:test
[INFO] | +- org.powermock:powermock-api-mockito-common:jar:1.7.0RC4:test
[INFO] | | \- org.powermock:powermock-api-support:jar:1.7.0RC4:test
[INFO] | \- org.mockito:mockito-core:jar:2.7.5:test
[INFO] | +- net.bytebuddy:byte-buddy:jar:1.6.5:test
[INFO] | +- net.bytebuddy:byte-buddy-agent:jar:1.6.5:test
[INFO] | \- org.objenesis:objenesis:jar:2.5:test
[INFO] +- net.sf.jmimemagic:jmimemagic:jar:0.1.3:compile
[INFO] | +- oro:oro:jar:2.0.8:compile
[INFO] | +- xml-apis:xmlParserAPIs:jar:2.0.2:compile
[INFO] | +- org.codehaus.jackson:jackson-jaxrs:jar:1.5.2:compile
[INFO] | | +- org.codehaus.jackson:jackson-core-asl:jar:1.5.2:compile
[INFO] | | \- org.codehaus.jackson:jackson-mapper-asl:jar:1.5.2:compile
[INFO] | \- org.codehaus.jackson:jackson-xc:jar:1.5.2:compile
[INFO] +- org.imgscalr:imgscalr-lib:jar:4.3-SNAPSHOT:compile
[INFO] +- org.ocpsoft.prettytime:prettytime:jar:3.2.7.Final:compile
[INFO] +- org.bitbucket.cowwoc:diff-match-patch:jar:1.1:compile
[INFO] +- org.rauschig:jarchivelib:jar:0.7.1:compile
[INFO] | \- org.apache.commons:commons-compress:jar:1.9:compile
[INFO] +- org.jboss.arquillian.junit:arquillian-junit-container:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.junit:arquillian-junit-core:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-api:jar:1.1.13.Final:test
[INFO] | | \- org.jboss.arquillian.core:arquillian-core-api:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-spi:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-api:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-spi:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.core:arquillian-core-impl-base:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-impl-base:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-impl-base:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-impl-base:jar:1.1.13.Final:test
[INFO] | \- org.jboss.shrinkwrap:shrinkwrap-impl-base:jar:1.2.6:test
[INFO] | \- org.jboss.shrinkwrap:shrinkwrap-spi:jar:1.2.6:test
[INFO] +- org.jboss.arquillian.container:arquillian-container-spi:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.core:arquillian-core-spi:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.config:arquillian-config-api:jar:1.1.13.Final:test
[INFO] | \- org.jboss.arquillian.config:arquillian-config-impl-base:jar:1.1.13.Final:test
[INFO] +- org.jboss.arquillian.container:arquillian-glassfish-embedded-3.1:jar:1.0.0.Final:test
[INFO] | +- org.jboss.arquillian.testenricher:arquillian-testenricher-cdi:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.testenricher:arquillian-testenricher-ejb:jar:1.1.13.Final:test
[INFO] | +- org.jboss.arquillian.testenricher:arquillian-testenricher-resource:jar:1.1.13.Final:test
[INFO] | \- org.jboss.arquillian.testenricher:arquillian-testenricher-initialcontext:jar:1.1.13.Final:test
[INFO] +- org.glassfish.extras:glassfish-embedded-all:jar:3.2-b06:test
[INFO] \- org.ow2.asm:asm-commons:jar:5.0.3:runtime
[INFO] \- org.ow2.asm:asm-tree:jar:5.0.3:runtime
[INFO] \- org.ow2.asm:asm:jar:5.0.3:runtime
I need slf4j-api in order to be able to compile the project. Where is the old API request coming from?
SLF4J: Found binding in [jar:file:/home/richter/.m2/repository/ch/qos/logback/logback-classic/1.1.8/logback-classic-1.1.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/richter/.m2/repository/org/glassfish/extras/glassfish-embedded-all/3.2-b06/glassfish-embedded-all-3.2-b06.jar!/org/slf4j/impl/StaticLoggerBinder.class]
It said quite clear, you have slf4j bingding in both glassfish-embedded-all-3.2-b06.jar and logback-classic-1.1.8.jar.
Logback should be what you really need to print the log. But org/slf4j/impl/StaticLoggerBinder.class in glassfish jar also can implenment slf4j logging api.
So, what you should do is exclude glassfish-embedded-all. If you really need it ,you should include some other version of glassfish-embedded, not -all jar. Or at least, you can just remove org/slf4j/impl/StaticLoggerBinder.class in glassfish-embedded-all.jar

Version Incompatibility between Spring batch and cloudera hadoop

I was trying the spring batch word count program and faced a version issue like this :
ERROR [org.springframework.batch.core.step.AbstractStep] - <Encountered an error executing the step>
java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.Counter, but class was expected
I use Cloudera Hadoop2 cdh4.5.0 and Spring hadoop version 1.0.1.RELEASE. I cant identify the exact problem as Spring batch is compatible with hadoop cdh4.
My dependency tree is as shown below.
[INFO] org.springframework.data:batch-wordcount:jar:0.0.1
[INFO] +- org.springframework:spring-context:jar:3.0.5.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:3.0.5.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:3.0.5.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:3.0.5.RELEASE:compile
[INFO] | \- org.springframework:spring-asm:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:3.0.5.RELEASE:compile
[INFO] | \- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] +- org.springframework:spring-tx:jar:3.0.5.RELEASE:compile
[INFO] | +- aopalliance:aopalliance:jar:1.0:compile
[INFO] +- org.springframework.batch:spring-batch-core:jar:2.2.0.RELEASE:compile
[INFO] | +- com.thoughtworks.xstream:xstream:jar:1.3:compile
[INFO] | | \- xpp3:xpp3_min:jar:1.1.4c:compile
[INFO] | +- org.codehaus.jettison:jettison:jar:1.1:compile
[INFO] +- org.springframework.batch:spring-batch-infrastructure:jar:2.2.0.RELEASE:compile
[INFO] | \- org.springframework.retry:spring-retry:jar:1.0.2.RELEASE:compile
[INFO] +- org.springframework.batch:spring-batch-test:jar:2.2.0.RELEASE:compile
[INFO] | +- (junit:junit:jar:4.10:compile - omitted for conflict with 4.11)
[INFO] | +- (org.springframework:spring-test:jar:3.2.0.RELEASE:compile - omitted for conflict with 3.0.5.RELEASE)
[INFO] | +- commons-io:commons-io:jar:1.4:compile
[INFO] | +- commons-dbcp:commons-dbcp:jar:1.2.2:compile
[INFO] | | \- commons-pool:commons-pool:jar:1.3:compile
[INFO] | \- commons-collections:commons-collections:jar:3.2:compile
[INFO] +- junit:junit:jar:4.11:test (scope not updated to compile)
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.springframework.data:spring-data-hadoop:jar:1.0.2.RELEASE:compile
[INFO] +- org.apache.hadoop:hadoop-common:jar:2.0.0-cdh4.5.0:compile
[INFO] | +- org.apache.hadoop:hadoop-annotations:jar:2.0.0-cdh4.5.0:compile
[INFO] | | \- jdk.tools:jdk.tools:jar:1.6:system
[INFO] | +- com.google.guava:guava:jar:11.0.2:compile
[INFO] | +- commons-net:commons-net:jar:3.1:compile
[INFO] | +- javax.servlet:servlet-api:jar:2.5:compile
[INFO] | +- org.mortbay.jetty:jetty:jar:6.1.26.cloudera.2:compile
[INFO] | +- org.mortbay.jetty:jetty-util:jar:6.1.26.cloudera.2:compile
[INFO] | +- com.sun.jersey:jersey-core:jar:1.8:compile
[INFO] | +- com.sun.jersey:jersey-json:jar:1.8:compile
[INFO] | | +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:compile
[INFO] | | | \- javax.xml.bind:jaxb-api:jar:2.2.2:compile
[INFO] | | | \- javax.activation:activation:jar:1.1:compile
[INFO] | | \- (com.sun.jersey:jersey-core:jar:1.8:compile - omitted for duplicate)
[INFO] | +- log4j:log4j:jar:1.2.17:compile
[INFO] | +- org.apache.hadoop:cloudera-jets3t:jar:2.0.0-cdh4.5.0:compile
[INFO] | | \- (net.java.dev.jets3t:jets3t:jar:0.9.0:compile - omitted for conflict with 0.6.1)
[INFO] | +- net.java.dev.jets3t:jets3t:jar:0.6.1:compile
[INFO] | | +- (commons-codec:commons-codec:jar:1.3:compile - omitted for conflict with 1.4)
[INFO] | | +- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for duplicate)
[INFO] | | \- (commons-httpclient:commons-httpclient:jar:3.1:compile - omitted for duplicate)
[INFO] | +- (junit:junit:jar:4.8.2:compile - omitted for conflict with 4.11)
[INFO] | +- commons-lang:commons-lang:jar:2.5:compile
[INFO] | +- commons-configuration:commons-configuration:jar:1.6:compile
[INFO] | | +- commons-digester:commons-digester:jar:1.8:compile
[INFO] | | | +- commons-beanutils:commons-beanutils:jar:1.7.0:compile
[INFO] | | \- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.6.1:compile
[INFO] | +- org.slf4j:slf4j-log4j12:jar:1.6.1:runtime
[INFO] | +- org.codehaus.jackson:jackson-core-asl:jar:1.8.8:compile
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8:compile
[INFO] | +- net.sf.kosmosfs:kfs:jar:0.3:compile
[INFO] | +- com.google.protobuf:protobuf-java:jar:2.4.0a:compile
[INFO] | +- org.apache.hadoop:hadoop-auth:jar:2.0.0-cdh4.5.0:compile
[INFO] | +- com.jcraft:jsch:jar:0.1.42:compile
[INFO] | \- org.apache.zookeeper:zookeeper:jar:3.4.5-cdh4.5.0:compile
[INFO] | \- jline:jline:jar:0.9.94:compile
[INFO] +- org.apache.hadoop:hadoop-hdfs:jar:2.0.0-cdh4.5.0:compile
[INFO] | +- tomcat:jasper-runtime:jar:5.5.23:compile
[INFO] | | \- commons-el:commons-el:jar:1.0:compile
[INFO] +- org.apache.hadoop:hadoop-tools:jar:2.0.0-mr1-cdh4.5.0:compile
[INFO] | +- com.cloudera.cdh:hadoop-ant:pom:2.0.0-mr1-cdh4.5.0:compile
[INFO] | \- org.apache.hadoop:hadoop-core:jar:2.0.0-mr1-cdh4.5.0:compile
[INFO] | +- hsqldb:hsqldb:jar:1.8.0.10:compile
[INFO] | +- org.eclipse.jdt:core:jar:3.1.1:compile
[INFO] +- org.hamcrest:hamcrest-all:jar:1.1:compile
[INFO] +- org.apache.hadoop:hadoop-client:jar:2.0.0-mr1-cdh4.5.0:compile
[INFO] +- org.apache.hadoop:hadoop-streaming:jar:2.0.0-mr1-cdh4.5.0:compile
[INFO] \- org.springframework:spring-test:jar:3.0.5.RELEASE:compile
Also, Does ommited for duplicate dependencies cause any error ?
You should use the 1.0.2.RELEASE-cdh4 version with Cloudera CDH4 - these distro specific releases are available in the Spring repository:
<repository>
<id>spring-releases</id>
<name>Spring Release Repository</name>
<url>http://repo.spring.io/libs-release</url>
</repository>
More info here: https://github.com/spring-projects/spring-hadoop/wiki/Build-with-Cloudera-CDH4

Upgrading from Spring 3.0.3.RELEASE results in: java.lang.NoSuchFieldError: USER_DECLARED_METHODS

I have a Spring-MVC 3.0 web application built with Maven. All Spring dependency versions are defined with a maven property <spring.version>3.0.3.RELEASE</spring.version>. When I change the version to either 3.0.4.RELEASE or 3.0.5.RELEASE, then the web application fails with the following exception:
ERROR: [DispatcherServlet] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is java.lang.NoSuchFieldError: USER_DECLARED_METHODS
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:557)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
at javax.servlet.GenericServlet.init(GenericServlet.java:241)
at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:222)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:371)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:307)
at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203)
at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
I've found one relevant hit on Google http://forum.springsource.org/showthread.php?p=328767 but it did not help me, as I've checked my Spring versions in my pom and done numerous clean builds on the project. I'm running the webapp via mvn jetty:run.
[EDIT] Here is the dependency tree as requested by michael-lange...
[INFO] au.org.ala:bie-admin:war:1.0-SNAPSHOT
[INFO] +- au.org.ala:bie-hbase:jar:1.0-SNAPSHOT:compile
[INFO] | +- org.gbif:ecat-common:jar:1.1-SNAPSHOT:compile
[INFO] | +- org.gbif:dwc-archive:jar:1.2-SNAPSHOT:compile
[INFO] | | +- com.trustice:tar:jar:2.5:compile
[INFO] | | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | +- jaxen:jaxen:jar:1.1-beta-6:compile
[INFO] | | | +- xerces:xmlParserAPIs:jar:2.6.2:compile
[INFO] | | | \- xom:xom:jar:1.0b3:compile
[INFO] | | | +- com.ibm.icu:icu4j:jar:2.6.1:compile
[INFO] | | | \- org.ccil.cowan.tagsoup:tagsoup:jar:0.9.7:compile
[INFO] | | +- com.google.guava:guava:jar:r03:compile
[INFO] | | +- org.apache.commons:commons-compress:jar:1.0:compile
[INFO] | | \- com.google.inject:guice:jar:2.0:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.apache.hadoop:hbase:jar:0.20.4:compile
[INFO] | +- org.apache.hadoop:zookeeper:jar:3.2.2:compile
[INFO] | +- org.apache.hadoop:hadoop-core:jar:0.20.2:compile
[INFO] | +- org.apache.hadoop:hadoop-ant:jar:0.20.2:compile
[INFO] | +- org.apache.hadoop:hadoop-tools:jar:0.20.2:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.5.2:compile
[INFO] | +- org.slf4j:slf4j-log4j12:jar:1.4.3:compile
[INFO] | +- commons-cli:commons-cli:jar:1.2:compile
[INFO] | +- org.apache.lucene:lucene-core:jar:2.9.2:compile
[INFO] | +- org.apache.solr:solr-core:jar:1.4.0:compile
[INFO] | | +- org.apache.lucene:lucene-analyzers:jar:2.9.1:compile
[INFO] | | +- org.apache.lucene:lucene-highlighter:jar:2.9.1:compile
[INFO] | | +- org.apache.lucene:lucene-queries:jar:2.9.1:compile
[INFO] | | +- org.apache.lucene:lucene-snowball:jar:2.9.1:compile
[INFO] | | +- org.apache.lucene:lucene-memory:jar:2.9.1:compile
[INFO] | | +- org.apache.lucene:lucene-misc:jar:2.9.1:compile
[INFO] | | +- org.apache.lucene:lucene-spellchecker:jar:2.9.1:compile
[INFO] | | +- org.apache.solr:solr-commons-csv:jar:1.4.0:compile
[INFO] | | +- woodstox:wstx-asl:jar:3.2.7:compile
[INFO] | | \- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile
[INFO] | +- org.apache.solr:solr-solrj:jar:1.4.0:compile
[INFO] | | \- org.codehaus.woodstox:wstx-asl:jar:3.2.7:compile
[INFO] | | \- stax:stax-api:jar:1.0.1:compile
[INFO] | +- org.apache.cassandra:apache-cassandra:jar:0.6.1:compile
[INFO] | +- org.apache.thrift:thrift:jar:0.2.0:compile
[INFO] | +- pelops:pelops:jar:0.804:compile
[INFO] | +- org.geotools:gt-main:jar:2.5-RC1:compile
[INFO] | | +- org.geotools:gt-api:jar:2.5-RC1:compile
[INFO] | | +- com.vividsolutions:jts:jar:1.9:compile
[INFO] | | \- jdom:jdom:jar:1.0:compile
[INFO] | +- org.geotools:gt-shapefile:jar:2.5-RC1:compile
[INFO] | | +- org.geotools:gt-referencing:jar:2.5-RC1:compile
[INFO] | | | +- java3d:vecmath:jar:1.3.1:compile
[INFO] | | | \- org.geotools:gt-metadata:jar:2.5-RC1:compile
[INFO] | | | +- org.opengis:geoapi:jar:2.2-M1:compile
[INFO] | | | \- net.java.dev.jsr-275:jsr-275:jar:1.0-beta-2:compile
[INFO] | | \- velocity:velocity:jar:1.4:compile
[INFO] | | \- velocity:velocity-dep:jar:1.4:runtime
[INFO] | +- org.geotools:gt-epsg-hsql:jar:2.5-RC1:compile
[INFO] | | \- hsqldb:hsqldb:jar:1.8.0.7:compile
[INFO] | +- postgresql:postgresql:jar:8.1-407.jdbc3:compile
[INFO] | +- javax.servlet:servlet-api:jar:2.4:compile
[INFO] | +- javax.inject:javax.inject:jar:1:compile
[INFO] | +- org.openrdf.sesame:sesame-rio-rdfxml:jar:2.2:compile
[INFO] | | +- org.openrdf.sesame:sesame-model:jar:2.2:compile
[INFO] | | | +- info.aduna.commons:aduna-commons-collections:jar:2.2:compile
[INFO] | | | | \- info.aduna.commons:aduna-commons-concurrent:jar:2.2:compile
[INFO] | | | \- info.aduna.commons:aduna-commons-iteration:jar:2.2:compile
[INFO] | | +- info.aduna.commons:aduna-commons-net:jar:2.1:compile
[INFO] | | \- info.aduna.commons:aduna-commons-xml:jar:2.1:compile
[INFO] | +- org.openrdf.sesame:sesame-rio-api:jar:2.2:compile
[INFO] | | \- info.aduna.commons:aduna-commons-lang:jar:2.2:compile
[INFO] | +- org.openrdf.sesame:sesame-rio-ntriples:jar:2.2:compile
[INFO] | +- org.openrdf.sesame:sesame-rio-n3:jar:2.2:compile
[INFO] | +- org.springframework:spring-core:jar:3.0.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-asm:jar:3.0.0.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:3.0.0.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:3.0.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-expression:jar:3.0.0.RELEASE:compile
[INFO] | +- org.springframework:spring-oxm:jar:3.0.0.RELEASE:compile
[INFO] | +- org.openrdf.sesame:sesame-rio-turtle:jar:2.2:compile
[INFO] | | +- info.aduna.commons:aduna-commons-io:jar:2.3:compile
[INFO] | | \- info.aduna.commons:aduna-commons-text:jar:2.1:compile
[INFO] | \- au.org.ala:ala-name-matching:jar:1.0-SNAPSHOT:compile
[INFO] | +- org.gbif:ecat-checklistbank:jar:1.0-SNAPSHOT:compile
[INFO] | | +- junit:junit:jar:4.4:compile
[INFO] | | +- uk.co.flamingpenguin.jewelcli:jewelcli:jar:0.6:compile
[INFO] | | +- gnu.trove:trove:jar:2.0.4:compile
[INFO] | | \- org.freemarker:freemarker:jar:2.3.15:compile
[INFO] | +- portal:portal-core:jar:1.0-SNAPSHOT:compile
[INFO] | | +- org.springframework:spring-dao:jar:2.0:compile
[INFO] | | +- org.springframework:spring-support:jar:2.0:compile
[INFO] | | +- org.springframework:spring-aop:jar:2.0:compile
[INFO] | | +- org.springframework:spring-aop-cache:jar:2.0:compile
[INFO] | | +- org.apache.velocity:velocity:jar:1.6:compile
[INFO] | | | \- oro:oro:jar:2.0.8:compile
[INFO] | | +- soap:soap:jar:2.3.1:compile
[INFO] | | +- quartz:quartz:jar:1.6.0:compile
[INFO] | | +- javax.transaction:jta:jar:1.0.1B:compile
[INFO] | | +- dom4j:dom4j-core:jar:1.4-dev-8:compile
[INFO] | | +- commons-math:commons-math:jar:1.1:compile
[INFO] | | | \- commons-discovery:commons-discovery:jar:0.2:compile
[INFO] | | \- saxpath:saxpath:jar:1.0-FCS:compile
[INFO] | \- au.com.bytecode:opencsv:jar:2.2:compile
[INFO] +- au.org.ala:bie-repository:jar:1.0-SNAPSHOT:compile
[INFO] | +- au.org.ala:ala-logger:jar:1.0-SNAPSHOT:compile
[INFO] | +- org.springframework:spring-orm:jar:3.0.0.RELEASE:compile
[INFO] | | \- org.springframework:spring-tx:jar:3.0.0.RELEASE:compile
[INFO] | +- org.springframework:spring-jdbc:jar:3.0.0.RELEASE:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2:compile
[INFO] | +- commons-dbcp:commons-dbcp:jar:1.2.1:compile
[INFO] | | +- commons-pool:commons-pool:jar:1.2:compile
[INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] | +- commons-validator:commons-validator:jar:1.3.1:compile
[INFO] | | \- commons-digester:commons-digester:jar:1.6:compile
[INFO] | +- net.sourceforge.htmlunit:htmlunit:jar:2.5:compile
[INFO] | | +- xalan:xalan:jar:2.7.1:compile
[INFO] | | | \- xalan:serializer:jar:2.7.1:compile
[INFO] | | +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.5:compile
[INFO] | | +- net.sourceforge.nekohtml:nekohtml:jar:1.9.12:compile
[INFO] | | \- net.sourceforge.cssparser:cssparser:jar:0.9.5:compile
[INFO] | | \- org.w3c.css:sac:jar:1.3:compile
[INFO] | +- net.sf.opencsv:opencsv:jar:2.1:compile
[INFO] | +- org.jdom:jdom:jar:1.1:compile
[INFO] | +- pdfbox:pdfbox:jar:0.7.3:compile
[INFO] | | +- org.fontbox:fontbox:jar:0.1.0:compile
[INFO] | | +- org.jempbox:jempbox:jar:0.2.0:compile
[INFO] | | +- bouncycastle:bcmail-jdk14:jar:136:compile
[INFO] | | \- bouncycastle:bcprov-jdk14:jar:136:compile
[INFO] | +- javax.media:jai-core:jar:1.1.3:compile
[INFO] | +- javax.media:jai-codec:jar:1.1.3:compile
[INFO] | \- javax.media:jai-imageio:jar:1.1:compile
[INFO] +- au.org.ala:ala-common-ui:jar:1.0-SNAPSHOT:compile
[INFO] | \- org.jasig.cas:cas-client-core:jar:3.1.10:compile
[INFO] +- au.org.ala:ala-cas-client:jar:1.0-SNAPSHOT:compile
[INFO] +- org.junit:com.springsource.org.junit:jar:4.7.0:test
[INFO] +- org.springframework:org.springframework.test:jar:3.0.5.RELEASE:test
[INFO] +- org.springframework:org.springframework.aop:jar:3.0.5.RELEASE:compile
[INFO] | \- org.aopalliance:com.springsource.org.aopalliance:jar:1.0.0:compile
[INFO] +- org.springframework:org.springframework.beans:jar:3.0.5.RELEASE:compile
[INFO] | \- org.springframework:org.springframework.asm:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.context:jar:3.0.5.RELEASE:compile
[INFO] | \- org.springframework:org.springframework.expression:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.context.support:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.core:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.jdbc:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.orm:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.transaction:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.web:jar:3.0.5.RELEASE:compile
[INFO] +- org.springframework:org.springframework.web.servlet:jar:3.0.5.RELEASE:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.6:compile
[INFO] +- org.apache.el:com.springsource.org.apache.el:jar:6.0.20:compile
[INFO] +- javax.servlet:com.springsource.javax.servlet:jar:2.5.0:provided
[INFO] +- javax.servlet:com.springsource.javax.servlet.jsp:jar:2.1.0:provided
[INFO] +- javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0:compile
[INFO] +- org.apache.taglibs:com.springsource.org.apache.taglibs.standard:jar:1.1.2:compile
[INFO] +- log4j:log4j:jar:1.2.15:compile
[INFO] | +- javax.mail:mail:jar:1.4:compile
[INFO] | | \- javax.activation:activation:jar:1.1:compile
[INFO] | +- javax.jms:jms:jar:1.1:compile
[INFO] | +- com.sun.jdmk:jmxtools:jar:1.2.1:compile
[INFO] | \- com.sun.jmx:jmxri:jar:1.2.1:compile
[INFO] +- commons-lang:commons-lang:jar:2.4:compile
[INFO] +- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] | +- commons-logging:commons-logging:jar:1.0.4:compile
[INFO] | \- commons-codec:commons-codec:jar:1.2:compile
[INFO] +- commons-io:commons-io:jar:1.4:compile
[INFO] +- commons-fileupload:commons-fileupload:jar:1.2.1:compile
[INFO] +- commons-beanutils:commons-beanutils:jar:1.8.3:compile
[INFO] +- org.codehaus.jackson:jackson-core-asl:jar:1.4.1:compile
[INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.4.1:compile
[INFO] +- opensymphony:sitemesh:jar:2.4.2:compile
[INFO] +- javax.validation:validation-api:jar:1.0.0.GA:compile
[INFO] \- org.hibernate:com.springsource.org.hibernate.validator:jar:4.0.0.GA:compile
[INFO] +- javax.validation:com.springsource.javax.validation:jar:1.0.0.GA:compile
[INFO] \- org.slf4j:com.springsource.slf4j.api:jar:1.5.6:compile
It turned out two of our own dependencies both had dependencies on Spring 3.0.0.RELEASE. Adding an exclusion to each of these as:
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
</exclusions>
fixed the problem.
This smells like a Spring bug to me as I did not see this problem using 3.0.1, 3.0.2 or 3.0.3.
In response to your last comment, you can use the 'dependencyManagement' section of the POM to try to mitigate the Spring 3.0.0 requirement of your internal dependencies. This should force everything to use Spring 3.0.5.RELEASE if you place the proper 'dependency' elements under your dependencyManagement section.

Resources