Could not load TestContextBootstrapper [null]. Specify #BootstrapWith and dependency tree OK - spring

I'm relatively new with Spring tests. I'm triying to test repositories.
After reading different posts about the same issue it seems to be a dependencies problem.
But I haven't found any conflict after checking it (see bellow).
This is the test class:
#RunWith(SpringJUnit4ClassRunner.class)
#ContextConfiguration
public class ActionRepositoryTest2 {
#Autowired ActionRepository actionRepository;
#Test
public void actionRepository() {
Command command = new Command();
Action action = new Action();
action.setText("TestAction");
actionRepository.save(action);
List<Action> actions = (List<Action>)
actionRepository.findAll();
assertNotNull(action);
assertEquals(actions.size(),1);
}
#Configuration
public static class InnerConf2 {
#Bean
ActionRepository actionRepository() {
return new ActionRepositoryImpl();
}
#Bean
CommandRepository commandRepository() {
return new CommandRepositoryImpl();
}
#Bean
OrderRepository orderRepository() {
return new OrderRepositoryImpl();
}
}
}
This is the exception I get:
ava.lang.IllegalStateException: Could not load TestContextBootstrapper [null]. Specify #BootstrapWith's 'value' attribute or make the default bootstrapper class available.
at org.springframework.test.context.BootstrapUtils.resolveTestContextBootstrapper(BootstrapUtils.java:144)
...
This is the dependency check:
[INFO]
[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) # emorobots ---
[INFO] Verbose not supported since maven-dependency-plugin 3.0
[INFO] com.res:emorobots:jar:0.0.1-SNAPSHOT
[INFO] +- org.jpl7:jpl:jar:7.8.0:compile
[INFO] +- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.slf4j:slf4j-api:jar:1.8.0-beta2:runtime
[INFO] +- org.apache.commons:commons-lang3:jar:3.8.1:compile
[INFO] +- org.apache.logging.log4j:log4j-api:jar:2.11.1:compile
[INFO] +- org.apache.logging.log4j:log4j-core:jar:2.11.1:runtime
[INFO] +- org.apache.logging.log4j:log4j-jcl:jar:2.11.1:runtime
[INFO] | \- commons-logging:commons-logging:jar:1.2:runtime
[INFO] +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.11.1:runtime
[INFO] +- org.picocontainer:picocontainer:jar:2.15:compile
[INFO] +- javax.inject:javax.inject:jar:1:compile
[INFO] +- javax.annotation:javax.annotation-api:jar:1.3.2:runtime
[INFO] +- org.springframework:spring-core:jar:5.1.2.RELEASE:compile
[INFO] | \- org.springframework:spring-jcl:jar:5.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-context:jar:5.1.2.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:5.1.2.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:5.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-context-support:jar:5.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-aop:jar:5.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-oxm:jar:5.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-test:jar:5.1.2.RELEASE:compile
[INFO] +- org.springframework.data:spring-data-jpa:jar:1.10.1.RELEASE:compile
[INFO] | +- org.springframework.data:spring-data-commons:jar:1.12.1.RELEASE:compile
[INFO] | +- org.springframework:spring-orm:jar:4.2.5.RELEASE:compile
[INFO] | | \- org.springframework:spring-jdbc:jar:4.2.5.RELEASE:compile
[INFO] | +- org.springframework:spring-tx:jar:4.2.5.RELEASE:compile
[INFO] | \- org.aspectj:aspectjrt:jar:1.8.9:compile
[INFO] +- org.eclipse.persistence:javax.persistence:jar:2.1.0:compile
[INFO] +- javax.transaction:javax.transaction-api:jar:1.3:compile
[INFO] +- org.hibernate:hibernate-entitymanager:jar:5.3.7.Final:compile
[INFO] | +- org.hibernate:hibernate-core:jar:5.3.7.Final:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | +- org.jboss:jandex:jar:2.0.5.Final:compile
[INFO] | | +- com.fasterxml:classmate:jar:1.3.4:compile
[INFO] | | \- javax.activation:javax.activation-api:jar:1.2.0:compile
[INFO] | +- org.dom4j:dom4j:jar:2.1.1:compile
[INFO] | +- org.hibernate.common:hibernate-commons-annotations:jar:5.0.4.Final:compile
[INFO] | +- javax.persistence:javax.persistence-api:jar:2.2:compile
[INFO] | \- net.bytebuddy:byte-buddy:jar:1.8.17:compile
[INFO] +- org.javassist:javassist:jar:3.24.0-GA:compile
[INFO] \- mysql:mysql-connector-java:jar:8.0.13:runtime
[INFO] \- com.google.protobuf:protobuf-java:jar:3.6.1:runtime
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Is there a way (the last option I consider) to trace SpringJUnit4ClassRunner?
Thanks.

Problem is with the maven dependency. Needs to keep the same spring-core and spring-test version which will solve the issue.

Related

Maven assembly plugin missing jmxtools

For some reason maven assembly:single throws the error below. But maven-assembly-plugin dependency tree doesn't show the jmxtools. maven central doesn't have the jar file. http://central.maven.org/maven2/com/sun/jdmk/jmxtools/1.2.1/
I am perplexed, what am I missing ? Any help is appreciated.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:3.1.0:single (ci) on project extracense: Failed to create assembly: Error creating assembly archive ci: C:\Users\v493289\.m2\repository\com\sun\jdmk\jmxtools\1.2.1\jmxtools-1.2.1.jar -> [Help 1]
Here is the maven dependency tree.
[INFO] \- org.apache.maven.plugins:maven-assembly-plugin:jar:3.1.0:compile
[INFO] +- org.apache.maven:maven-plugin-api:jar:3.0:compile
[INFO] | \- org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2:compile
[INFO] | \- org.sonatype.sisu:sisu-inject-bean:jar:1.4.2:compile
[INFO] | \- org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7:compile
[INFO] +- org.apache.maven:maven-core:jar:3.0:compile
[INFO] | +- org.apache.maven:maven-settings:jar:3.0:compile
[INFO] | +- org.apache.maven:maven-settings-builder:jar:3.0:compile
[INFO] | +- org.apache.maven:maven-repository-metadata:jar:3.0:compile
[INFO] | +- org.apache.maven:maven-model-builder:jar:3.0:compile
[INFO] | +- org.apache.maven:maven-aether-provider:jar:3.0:runtime
[INFO] | +- org.sonatype.aether:aether-impl:jar:1.7:compile
[INFO] | | \- org.sonatype.aether:aether-spi:jar:1.7:compile
[INFO] | +- org.sonatype.aether:aether-api:jar:1.7:compile
[INFO] | +- org.sonatype.aether:aether-util:jar:1.7:compile
[INFO] | +- org.codehaus.plexus:plexus-classworlds:jar:2.2.3:compile
[INFO] | +- org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compile
[INFO] | \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile
[INFO] | \- org.sonatype.plexus:plexus-cipher:jar:1.4:compile
[INFO] +- org.apache.maven:maven-artifact:jar:3.0:compile
[INFO] +- org.apache.maven:maven-model:jar:3.0:compile
[INFO] +- org.apache.maven.shared:maven-common-artifact-filters:jar:3.0.1:compile
[INFO] | \- org.apache.maven.shared:maven-shared-utils:jar:3.1.0:compile
[INFO] +- org.apache.maven.shared:maven-artifact-transfer:jar:0.9.0:compile
[INFO] +- org.codehaus.plexus:plexus-interpolation:jar:1.24:compile
[INFO] +- org.codehaus.plexus:plexus-archiver:jar:3.5:compile
[INFO] | +- org.apache.commons:commons-compress:jar:1.14:compile
[INFO] | +- org.iq80.snappy:snappy:jar:0.4:compile
[INFO] | \- org.tukaani:xz:jar:1.6:runtime
[INFO] +- org.apache.maven.shared:file-management:jar:3.0.0:compile
[INFO] +- org.apache.maven.shared:maven-shared-io:jar:3.0.0:compile
[INFO] | +- org.apache.maven:maven-compat:jar:3.0:compile
[INFO] | \- org.apache.maven.wagon:wagon-provider-api:jar:2.10:compile
[INFO] +- org.apache.maven.shared:maven-filtering:jar:3.1.1:compile
[INFO] | \- org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile
[INFO] +- org.codehaus.plexus:plexus-io:jar:3.0.0:compile
[INFO] +- org.apache.maven:maven-archiver:jar:3.2.0:compile
[INFO] \- org.codehaus.plexus:plexus-utils:jar:3.1.0:compile

How to avoid multiple SLF4J bindings?

Collegues, when i run any test i receive the next stack trace:
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found
binding in
[jar:file:/C:/Users/someuser/.m2/repository/org/slf4j/slf4j-simple/1.7.22/slf4j-simple-1.7.22.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in
[jar:file:/C:/Users/someuser/.m2/repository/ch/qos/logback/logback-classic/1.1.9/logback-classic-1.1.9.jar!/org/slf4j/impl/StaticLoggerBinder.class]
My dependency tree looks like:
C:\Users\someuser\Documents\GIT\same-integration\same-ftp>mvn dependency:tree
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for
[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten t
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support buildin
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building same :: FTP 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) # same-ftp ---
[INFO] com.ac.same:same-ftp:jar:1.0-SNAPSHOT
[INFO] +- org.springframework:spring-context:jar:4.3.5.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.5.RELEASE:compile
[INFO] | +- org.springframework:spring-beans:jar:4.3.5.RELEASE:compile
[INFO] | +- org.springframework:spring-core:jar:4.3.5.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:4.3.5.RELEASE:compile
[INFO] +- org.springframework:spring-tx:jar:4.3.5.RELEASE:compile
[INFO] +- org.springframework:spring-test:jar:4.3.5.RELEASE:test
[INFO] +- org.springframework:spring-orm:jar:4.3.5.RELEASE:compile
[INFO] | \- org.springframework:spring-jdbc:jar:4.3.5.RELEASE:compile
[INFO] +- org.hibernate:hibernate-core:jar:5.2.6.Final:compile
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Fin
[INFO] | +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] | +- antlr:antlr:jar:2.7.7:compile
[INFO] | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:compile
[INFO] | +- org.jboss:jandex:jar:2.0.3.Final:compile
[INFO] | +- com.fasterxml:classmate:jar:1.3.0:compile
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | +- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:
[INFO] | \- javax.enterprise:cdi-api:jar:1.1:compile
[INFO] | +- javax.el:el-api:jar:2.2:compile
[INFO] | +- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec
[INFO] | +- javax.annotation:jsr250-api:jar:1.0:compile
[INFO] | \- javax.inject:javax.inject:jar:1:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.1.9:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.22:compile
[INFO] +- ch.qos.logback:logback-core:jar:1.1.9:compile
[INFO] +- me.moocar:logback-gelf:jar:0.3:compile
[INFO] | +- com.google.code.gson:gson:jar:2.3.1:compile
[INFO] | \- me.moocar:socket-encoder-appender:jar:0.1beta1:compile
[INFO] +- org.slf4j:jul-to-slf4j:jar:1.7.22:compile
[INFO] +- org.slf4j:jcl-over-slf4j:jar:1.7.22:compile
[INFO] +- com.typesafe:config:jar:1.3.0:compile
[INFO] +- commons-io:commons-io:jar:2.2:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.5:compile
[INFO] +- org.apache.camel:camel-core:jar:2.18.1:compile
[INFO] | +- com.sun.xml.bind:jaxb-core:jar:2.2.11:compile
[INFO] | \- com.sun.xml.bind:jaxb-impl:jar:2.2.11:compile
[INFO] +- org.apache.camel:camel-ftp:jar:2.18.1:compile
[INFO] | \- commons-net:commons-net:jar:3.3:compile
[INFO] +- org.apache.camel:camel-spring:jar:2.18.1:compile
[INFO] +- org.apache.camel:camel-quartz2:jar:2.18.1:compile
[INFO] | +- org.quartz-scheduler:quartz:jar:2.2.3:compile
[INFO] | \- com.mchange:c3p0:jar:0.9.5.2:compile
[INFO] | \- com.mchange:mchange-commons-java:jar:0.2.11:compile
[INFO] +- org.apache.camel:camel-jdbc:jar:2.18.1:compile
[INFO] +- com.jcraft:jsch:jar:0.1.42:compile
[INFO] +- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- pl.touk:tsc-reload:jar:0.3.0:compile
[INFO] | \- com.javaslang:javaslang:jar:2.0.0-RC3:compile
[INFO] +- commons-collections:commons-collections:jar:3.0:compile
[INFO] +- org.apache.maven.plugins:maven-shade-plugin:jar:2.4.3:compile
[INFO] | +- org.apache.maven:maven-plugin-api:jar:3.0:compile
[INFO] | | \- org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2:compile
[INFO] | | \- org.sonatype.sisu:sisu-inject-bean:jar:1.4.2:compile
[INFO] | | \- org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7:compile
[INFO] | +- org.apache.maven:maven-model:jar:3.0:compile
[INFO] | +- org.apache.maven:maven-core:jar:3.0:compile
[INFO] | | +- org.apache.maven:maven-settings:jar:3.0:compile
[INFO] | | +- org.apache.maven:maven-settings-builder:jar:3.0:compile
[INFO] | | +- org.apache.maven:maven-repository-metadata:jar:3.0:compile
[INFO] | | +- org.apache.maven:maven-model-builder:jar:3.0:compile
[INFO] | | +- org.apache.maven:maven-aether-provider:jar:3.0:runtime
[INFO] | | +- org.sonatype.aether:aether-impl:jar:1.7:compile
[INFO] | | | \- org.sonatype.aether:aether-spi:jar:1.7:compile
[INFO] | | +- org.sonatype.aether:aether-api:jar:1.7:compile
[INFO] | | +- org.sonatype.aether:aether-util:jar:1.7:compile
[INFO] | | +- org.codehaus.plexus:plexus-interpolation:jar:1.14:compile
[INFO] | | +- org.codehaus.plexus:plexus-classworlds:jar:2.2.3:compile
[INFO] | | +- org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compi
[INFO] | | \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile
[INFO] | | \- org.sonatype.plexus:plexus-cipher:jar:1.4:compile
[INFO] | +- org.apache.maven:maven-compat:jar:3.0:compile
[INFO] | | \- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-6:compile
[INFO] | +- org.apache.maven:maven-artifact:jar:3.0:compile
[INFO] | +- org.codehaus.plexus:plexus-utils:jar:3.0.22:compile
[INFO] | +- org.ow2.asm:asm:jar:5.0.2:compile
[INFO] | +- org.ow2.asm:asm-commons:jar:5.0.2:compile
[INFO] | | \- org.ow2.asm:asm-tree:jar:5.0.2:compile
[INFO] | +- org.jdom:jdom:jar:1.1:compile
[INFO] | +- org.apache.maven.shared:maven-dependency-tree:jar:2.2:compile
[INFO] | | \- org.eclipse.aether:aether-util:jar:0.9.0.M2:compile
[INFO] | +- org.vafer:jdependency:jar:1.1:compile
[INFO] | | +- org.ow2.asm:asm-analysis:jar:5.0.4:compile
[INFO] | | \- org.ow2.asm:asm-util:jar:5.0.4:compile
[INFO] | \- com.google.guava:guava:jar:11.0.2:compile
[INFO] | \- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] +- org.springframework:spring-context-support:jar:4.2.4.RELEASE:compile
[INFO] +- org.thymeleaf:thymeleaf:jar:3.0.2.RELEASE:compile
[INFO] | +- ognl:ognl:jar:3.1.10:compile
[INFO] | +- org.attoparser:attoparser:jar:2.0.1.RELEASE:compile
[INFO] | \- org.unbescape:unbescape:jar:1.1.4.RELEASE:compile
[INFO] +- org.thymeleaf:thymeleaf-spring4:jar:3.0.2.RELEASE:compile
[INFO] +- javax.mail:mail:jar:1.4.7:compile
[INFO] | \- javax.activation:activation:jar:1.1:compile
[INFO] +- org.apache.commons:commons-dbcp2:jar:2.1.1:compile
[INFO] | \- org.apache.commons:commons-pool2:jar:2.4.2:compile
[INFO] \- com.microsoft.sqlserver:sqljdbc4:jar:4.2:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.583 s
[INFO] Finished at: 2017-02-15T13:42:27+03:00
[INFO] Final Memory: 20M/236M
[INFO] ------------------------------------------------------------------------
I'am trying to add any exclusions but it doesn't help.
May you tell me how to fix the ptroblem?
Assuming you want to use logback-classic, you need to exclude the others :
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.6.Final</version>
<exclusions>
<exclusion>
<groupId>me.moocar:logback-gelf</groupId>
<artifactId>me.moocar:logback-gelf</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jul-over-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>me.moocar:logback-gelf</groupId>
<artifactId>me.moocar:logback-gelf</artifactId>
</exclusion>
</exclusions>
</dependency>

Can't figure out how to cure the "java.lang.UnsupportedClassVersionError: org/junit/internal/AssumptionViolatedException" error

I’m using Java 6, Maven 3.3, JUnit 4.11 and PowerMock 1.6.2. Although I can run my unit tests properly on my local machine, when I run my tests through Jenkins, I get the following errors …
org.mainco.subco.myproject.validator.ResetPasswordValidatorTest Time elapsed: 2.431 sec <<< ERROR!
java.lang.UnsupportedClassVersionError: org/junit/internal/AssumptionViolatedException
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
Here is the output from Maven dependency:tree …
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) # myproject ---
[INFO] org.mainco.subco:myproject:war:91.0.0-SNAPSHOT
[INFO] +- log4j:log4j:jar:1.2.15:compile
[INFO] +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.1.Final:provided
[INFO] +- commons-beanutils:commons-beanutils:jar:1.8.3:provided
[INFO] +- javax.servlet:javax.servlet-api:jar:3.0.1:provided
[INFO] +- org.directwebremoting:dwr:jar:3.0.0-rc2:compile
[INFO] +- it.sauronsoftware:cron4j:jar:2.2.5:compile
[INFO] +- org.mainco.subco:orders:jar:91.0.0-SNAPSHOT:compile
[INFO] | +- org.mainco.subco:core:jar:91.0.0-SNAPSHOT:compile
[INFO] | +- com.itextpdf:itextpdf:jar:5.1.0:compile
[INFO] | \- org.springframework:spring-aspects:jar:3.2.11.RELEASE:compile
[INFO] +- javax.validation:validation-api:jar:1.0.0.GA:provided
[INFO] +- commons-lang:commons-lang:jar:2.6:provided
[INFO] +- commons-collections:commons-collections:jar:3.2.1:provided
[INFO] +- commons-codec:commons-codec:jar:1.4:provided
[INFO] +- commons-logging:commons-logging:jar:1.1.1:test
[INFO] +- org.hamcrest:java-hamcrest:jar:2.0.0.0:test
[INFO] +- com.jayway.jsonpath:json-path-assert:jar:0.8.1:compile
[INFO] | +- com.jayway.jsonpath:json-path:jar:0.8.1:compile
[INFO] | +- net.minidev:json-smart:jar:1.1.1:compile
[INFO] | +- org.hamcrest:hamcrest-library:jar:1.2.1:compile
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.2.1:compile
[INFO] +- org.apache.velocity:velocity:jar:1.6.3:provided
[INFO] | \- oro:oro:jar:2.0.8:provided
[INFO] +- javax.mail:mail:jar:1.4.4:provided
[INFO] | \- javax.activation:activation:jar:1.1:provided
[INFO] +- org.powermock:powermock-module-junit4:jar:1.6.2:test
[INFO] | +- junit:junit:jar:4.12:test
[INFO] | \- org.powermock:powermock-module-junit4-common:jar:1.6.2:test
[INFO] | +- org.powermock:powermock-core:jar:1.6.2:test
[INFO] | \- org.powermock:powermock-reflect:jar:1.6.2:test
[INFO] +- org.powermock:powermock-api-easymock:jar:1.6.2:test
[INFO] | \- org.powermock:powermock-api-support:jar:1.6.2:test
[INFO] +- org.easymock:easymock:jar:3.1:test
[INFO] | \- org.objenesis:objenesis:jar:1.2:test
[INFO] +- commons-fileupload:commons-fileupload:jar:1.2.2:compile
[INFO] +- commons-io:commons-io:jar:2.1:provided
[INFO] +- antlr:antlr:jar:2.7.7:provided
[INFO] +- dom4j:dom4j:jar:1.6.1:provided
[INFO] +- org.springframework.boot:spring-boot:jar:1.3.5.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-autoconfigure:jar:1.2.7.RELEASE:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.14:compile
[INFO] +- org.springframework:spring-aop:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-beans:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-context:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-context-support:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-expression:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework.security.oauth:spring-security-oauth2:jar:2.0.7.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:3.2.11.RELEASE:compile
What dependencies do I need to include/exclude in order to fix the above?

How do I prevent transitive dependencies from a test-scoped dependency from getting packaged in my WAR in Maven?

I’m using Maven 3.2.3. In my pom I have this test dependency
<dependency>
<groupId>org.mainco.subco</groupId>
<artifactId>core</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
However, I notice that Maven is bringing in JAR files that the test-jar is dependent on as compile time. Below is an excerpt from
mvn dependency:tree …
[INFO] +- org.mockito:mockito-all:jar:1.9.5:test
[INFO] \- org.mainco.subco:core:test-jar:tests:80.0.0-SNAPSHOT:test
[INFO] +- org.mainco.subco:session:jar:80.0.0-SNAPSHOT:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:1.1.0.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons-core:jar:1.3.0.RELEASE:compile
[INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.6.1:runtime
[INFO] | \- org.apache.commons:commons-lang3:jar:3.1:compile
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.3.4:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.3.2:compile
[INFO] | \- commons-codec:commons-codec:jar:1.6:compile
[INFO] +- com.amazonaws:aws-java-sdk:jar:1.8.5:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.1.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.1.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.1.1:compile
[INFO] | \- joda-time:joda-time:jar:2.8.1:compile (version selected from constraint [2.2,))
How can I suppress Maven from compiling dependencies into my WAR if they were included from a test-scoped dependency?
Edit Per the comment, below is the copmlete output from mvn depdency:tree
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) # myproject ---
[INFO] org.mainco.subco:myproject:war:80.0.0-SNAPSHOT
[INFO] +- org.directwebremoting:dwr:jar:3.0.0-rc2:compile
[INFO] +- javax.mail:mail:jar:1.4:provided
[INFO] | \- javax.activation:activation:jar:1.1:provided
[INFO] +- org.mainco.subco:database:jar:80.0.0-SNAPSHOT:test
[INFO] +- org.mainco.subco:orders:jar:80.0.0-SNAPSHOT:compile
[INFO] | +- quickbase:quickbase:jar:1.0:compile
[INFO] | +- org.mainco.subco.sf:enterprise:jar:1.0:compile
[INFO] | +- org.mainco.subco.sf:metadata:jar:1.0:compile
[INFO] | +- org.mainco.subco.sf:partner:jar:1.0:compile
[INFO] | +- com.salesforce:force-wsc-uber:jar:33.0.2:compile
[INFO] | +- org.mainco.subco:core:jar:80.0.0-SNAPSHOT:compile
[INFO] | +- net.sf.opencsv:opencsv:jar:2.3:compile
[INFO] | +- com.itextpdf:itextpdf:jar:5.1.0:compile
[INFO] | +- com.lowagie:itext:jar:2.1.7:compile
[INFO] | | +- bouncycastle:bcmail-jdk14:jar:138:compile
[INFO] | | +- bouncycastle:bcprov-jdk14:jar:138:compile
[INFO] | | \- org.bouncycastle:bctsp-jdk14:jar:1.38:compile
[INFO] | | +- org.bouncycastle:bcprov-jdk14:jar:1.38:compile
[INFO] | | \- org.bouncycastle:bcmail-jdk14:jar:1.38:compile
[INFO] | \- org.springframework:spring-aspects:jar:3.2.11.RELEASE:compile
[INFO] +- org.quartz-scheduler:quartz:jar:1.8.5:compile
[INFO] | +- javax.transaction:jta:jar:1.1:compile
[INFO] | \- org.slf4j:slf4j-api:jar:1.6.0:compile
[INFO] +- org.springframework:spring-aop:jar:3.2.11.RELEASE:compile
[INFO] | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] +- org.springframework:spring-beans:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-context:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-core:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-expression:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-jdbc:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-orm:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-tx:jar:3.2.11.RELEASE:compile
[INFO] +- org.apache.velocity:velocity:jar:1.6.3:provided
[INFO] +- org.springframework:spring-test:jar:3.2.11.RELEASE:test
[INFO] +- org.springframework:spring-web:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-core:jar: 3.1.4.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-config:jar:3.1.4.RELEASE:compile
[INFO] +- cglib:cglib-nodep:jar:2.2.2:compile
[INFO] +- taglibs:standard:jar:1.1.2:compile
[INFO] +- commons-logging:commons-logging:jar:1.1.1:compile
[INFO] +- mysql:mysql-connector-java:jar:5.1.22:test
[INFO] +- junit:junit:jar:4.11:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.3:provided
[INFO] +- org.codehaus.jackson:jackson-core-asl:jar:1.9.3:provided
[INFO] +- org.slf4j:slf4j-log4j12:jar:1.7.2:provided
[INFO] | \- log4j:log4j:jar:1.2.17:compile
[INFO] +- javax.servlet:servlet-api:jar:2.5:provided
[INFO] +- org.bouncycastle:bcprov-jdk16:jar:1.46:provided
[INFO] +- org.mockito:mockito-all:jar:1.9.5:test
[INFO] \- org.mainco.subco:core:test-jar:tests:80.0.0-SNAPSHOT:test
[INFO] +- org.mainco.subco:session:jar:80.0.0-SNAPSHOT:compile
[INFO] | +- org.springframework.data:spring-data-jpa:jar:1.1.0.RELEASE:compile
[INFO] | | +- org.springframework.data:spring-data-commons-core:jar:1.3.0.RELEASE:compile
[INFO] | | \- org.slf4j:jcl-over-slf4j:jar:1.6.1:runtime
[INFO] | \- org.apache.commons:commons-lang3:jar:3.1:compile
[INFO] +- org.apache.httpcomponents:httpclient:jar:4.3.4:compile
[INFO] | +- org.apache.httpcomponents:httpcore:jar:4.3.2:compile
[INFO] | \- commons-codec:commons-codec:jar:1.6:compile
[INFO] +- com.amazonaws:aws-java-sdk:jar:1.8.5:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.1.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.1.1:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.1.1:compile
[INFO] | \- joda-time:joda-time:jar:2.8.1:compile (version selected from constraint [2.2,))
[INFO] +- com.google.code.gson:gson:jar:2.2.2:compile
[INFO] +- spy:spymemcached:jar:2.8.4:compile
[INFO] +- commons-lang:commons-lang:jar:2.6:compile
[INFO] +- org.jasypt:jasypt:jar:1.9.0:compile
[INFO] +- org.jasypt:jasypt-springsecurity3:jar:1.9.0:compile
[INFO] +- org.jasypt:jasypt-hibernate4:jar:1.9.0:compile
[INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] +- org.hibernate:hibernate-validator:jar:4.3.0.Final:compile
[INFO] | +- javax.validation:validation-api:jar:1.0.0.GA:compile
[INFO] | \- org.jboss.logging:jboss-logging:jar:3.1.0.CR2:compile
[INFO] +- org.hibernate:hibernate-entitymanager:jar:4.3.6.Final:compile
[INFO] | +- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile
[INFO] | +- org.hibernate:hibernate-core:jar:4.3.6.Final:compile
[INFO] | | +- antlr:antlr:jar:2.7.7:compile
[INFO] | | \- org.jboss:jandex:jar:1.1.0.Final:compile
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] | +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] | +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:compile
[INFO] | \- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] +- org.hibernate:hibernate-ehcache:jar:4.3.6.Final:compile
[INFO] | \- net.sf.ehcache:ehcache-core:jar:2.4.3:compile
[INFO] +- org.springframework:spring-context-support:jar:3.2.11.RELEASE:compile
[INFO] +- org.springframework.security:spring-security-web:jar:3.1.4.RELEASE:compile
[INFO] +- eu.bitwalker:UserAgentUtils:jar:1.15:compile
[INFO] +- net.jeremybrooks:knicker:jar:2.3.3:compile
[INFO] +- net.java.dev.jets3t:jets3t:jar:0.9.0:compile
[INFO] | \- com.jamesmurty.utils:java-xmlbuilder:jar:0.4:compile
[INFO] +- org.apache.poi:poi:jar:3.9:compile
[INFO] +- net.sf.json-lib:json-lib:jar:jdk15:2.4:compile
[INFO] | +- commons-beanutils:commons-beanutils:jar:1.8.0:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] | \- net.sf.ezmorph:ezmorph:jar:1.0.6:compile
[INFO] +- org.aspectj:aspectjweaver:jar:1.8.2:compile
[INFO] +- org.aspectj:aspectjrt:jar:1.8.2:compile
[INFO] +- org.owasp.esapi:esapi:jar:2.1.0:compile
[INFO] | +- commons-configuration:commons-configuration:jar:1.5:compile
[INFO] | | \- commons-digester:commons-digester:jar:1.8:compile
[INFO] | +- commons-beanutils:commons-beanutils-core:jar:1.7.0:compile
[INFO] | +- commons-fileupload:commons-fileupload:jar:1.2:compile
[INFO] | +- xom:xom:jar:1.2.5:compile
[INFO] | | +- xerces:xercesImpl:jar:2.8.0:compile
[INFO] | | \- xalan:xalan:jar:2.7.0:compile
[INFO] | \- org.beanshell:bsh-core:jar:2.0b4:compile
[INFO] \- org.owasp.antisamy:antisamy:jar:1.5.3:compile
[INFO] +- org.apache.xmlgraphics:batik-css:jar:1.7:compile
[INFO] | +- org.apache.xmlgraphics:batik-ext:jar:1.7:compile
[INFO] | +- org.apache.xmlgraphics:batik-util:jar:1.7:compile
[INFO] | \- xml-apis:xml-apis-ext:jar:1.3.04:compile
[INFO] +- net.sourceforge.nekohtml:nekohtml:jar:1.9.16:compile
[INFO] \- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

OWASP ESAPI - JavaEncryptor can't be found / not in classpath - but ESAPI is working in other functions

I already had problems with the esapi, but at the end it worked...
I included the OWASP ESAPI in my pom.xml like this
<!-- ESAPI Version 2.0.1 -->
<dependency>
<groupId>org.owasp.esapi</groupId>
<artifactId>esapi</artifactId>
<version>2.0.1</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
If i run this function:
String clean = ESAPI.encoder().canonicalize("someString");
the ESAPI encoder works perfect...
But if I try to use the HASH function,
ESAPI.encryptor().hash(password, salt);
I got this result
javax.servlet.ServletException: javax.ejb.EJBException: org.owasp.esapi.errors.ConfigurationException: java.lang.ClassNotFoundException: org.owasp.esapi.reference.JavaEncryptor from [Module "deployment.demoapp_demo.war:main" from Service Module Loader] Encryptor class (org.owasp.esapi.reference.JavaEncryptor) must be in class path.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62)
but as you can see, the ESAPI is i my dependencys but JavaEncryptor can't be found....
joergi#nerdbook:~/dev/demoapp/trunk/demoapp_demo$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Java EE 6 webapp project
[INFO] task-segment: [dependency:tree]
[INFO] ------------------------------------------------------------------------
[INFO] [dependency:tree {execution: default-cli}]
[INFO] de.demoapp:demoapp_demo:war:1.0-SNAPSHOT
[INFO] +- javax.enterprise:cdi-api:jar:1.0-SP4:provided
[INFO] | +- org.jboss.spec.javax.interceptor:jboss-interceptors-api_1.1_spec:jar:1.0.0.Final:provided (version managed from 1.0.0.Beta1)
[INFO] | \- javax.inject:javax.inject:jar:1:provided
[INFO] +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.1_spec:jar:1.0.0.Final:provided
[INFO] +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_1.1_spec:jar:1.0.0.Final:provided
[INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:provided
[INFO] +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec:jar:1.0.1.Final:provided
[INFO] +- org.hibernate:hibernate-validator:jar:4.2.0.Final:provided
[INFO] | \- javax.validation:validation-api:jar:1.0.0.GA:provided
[INFO] +- org.hibernate:hibernate-jpamodelgen:jar:1.1.1.Final:provided
[INFO] +- junit:junit:jar:4.10:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.1:test
[INFO] +- org.jboss.arquillian.junit:arquillian-junit-container:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.junit:arquillian-junit-core:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-api:jar:1.0.0.CR4:test
[INFO] | | \- org.jboss.arquillian.core:arquillian-core-api:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-spi:jar:1.0.0.CR4:test
[INFO] | | +- org.jboss.arquillian.core:arquillian-core-spi:jar:1.0.0.CR4:test
[INFO] | | \- org.jboss.shrinkwrap:shrinkwrap-api:jar:1.0.0-beta-5:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-api:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-spi:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.core:arquillian-core-impl-base:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-impl-base:jar:1.0.0.CR4:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-impl-base:jar:1.0.0.CR4:test
[INFO] | | +- org.jboss.arquillian.config:arquillian-config-api:jar:1.0.0.CR4:test
[INFO] | | \- org.jboss.arquillian.config:arquillian-config-impl-base:jar:1.0.0.CR4:test
[INFO] | | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:jar:1.1.0-alpha-2:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-impl-base:jar:1.0.0.CR4:test
[INFO] | \- org.jboss.shrinkwrap:shrinkwrap-impl-base:jar:1.0.0-beta-5:test
[INFO] | \- org.jboss.shrinkwrap:shrinkwrap-spi:jar:1.0.0-beta-5:test
[INFO] +- org.jboss.arquillian.protocol:arquillian-protocol-servlet:jar:1.0.0.CR4:test
[INFO] | \- org.jboss.arquillian.container:arquillian-container-spi:jar:1.0.0.CR4:test
[INFO] | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api:jar:1.1.0-alpha-2:test
[INFO] +- org.owasp.esapi:esapi:jar:2.0.1:compile
[INFO] | +- commons-configuration:commons-configuration:jar:1.5:compile
[INFO] | | +- commons-lang:commons-lang:jar:2.3:compile
[INFO] | | +- commons-logging:commons-logging:jar:1.1:compile
[INFO] | | | +- logkit:logkit:jar:1.0.1:compile
[INFO] | | | +- avalon-framework:avalon-framework:jar:4.1.3:compile
[INFO] | | | \- javax.servlet:servlet-api:jar:2.3: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.7.0:compile
[INFO] | +- commons-fileupload:commons-fileupload:jar:1.2:compile
[INFO] | +- commons-collections:commons-collections:jar:3.2:compile
[INFO] | +- xom:xom:jar:1.1:compile
[INFO] | | +- xerces:xmlParserAPIs:jar:2.6.2:compile
[INFO] | | +- xerces:xercesImpl:jar:2.6.2:compile
[INFO] | | +- xalan:xalan:jar:2.7.0:compile
[INFO] | | | \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] | | \- jaxen:jaxen:jar:1.1-beta-8:compile
[INFO] | | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | | \- jdom:jdom:jar:1.0:compile
[INFO] | +- org.beanshell:bsh-core:jar:2.0b4:compile
[INFO] | \- org.owasp.antisamy:antisamy:jar:1.4.3:compile
[INFO] | +- org.apache.xmlgraphics:batik-css:jar:1.7:compile
[INFO] | | +- org.apache.xmlgraphics:batik-ext:jar:1.7:compile
[INFO] | | +- org.apache.xmlgraphics:batik-util:jar:1.7:compile
[INFO] | | \- xml-apis:xml-apis-ext:jar:1.3.04:compile
[INFO] | +- net.sourceforge.nekohtml:nekohtml:jar:1.9.12:compile
[INFO] | \- commons-httpclient:commons-httpclient:jar:3.1:compile
[INFO] | \- commons-codec:commons-codec:jar:1.2:compile
[INFO] +- com.sun.faces:jsf-api:jar:2.1.7:compile
[INFO] \- joda-time:joda-time:jar:1.6:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds
[INFO] Finished at: Wed Mar 14 23:17:07 CET 2012
[INFO] Final Memory: 29M/342M
[INFO] ------------------------------------------------------------------------
The search-results are not really helpful...
Anyone know this problem? (or can help anyway?)
thank you!
Change
org.owasp.esapi.reference.JavaEncryptor
to
org.owasp.esapi.reference.crypto.JavaEncryptor
This is a common mistake, but codepitbull nailed the answer.
The problem is generally caused by using an earlier version of the ESAPI.properties file. At some point (during one of the later 2.0 release candidates IIRC), I reorganized some of the ESAPI crypto classes and created the org.owasp.esapi.reference.crypto package and moved the JavaEncryptor class to it. In a way, that's a good thing, because it makes using the ESAPI 2.0.x crypto to fail in a generally obvious way if one tries to use a ESAPI.properties file from ESAPI 1.4.x. If the class names were still the same between ESAPI 2.0.x and 1.4.x, attempts at encryption / decryption would still fail, but it would fail in a much more subtle manner.

Resources