Reputation: 1183
I'm using Arquillian on my Wildfly project but I have the following problem when I run my first test :
Caused by: java.lang.ClassNotFoundException: org.jboss.arquillian.core.api.threading.ExecutorService
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
... 55 more
This is my pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ppp</groupId>
<artifactId>dummy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>dummy V1</name>
<description>A starter Java EE 7 webapp project for use on JBoss WildFly / WildFly, generated from the jboss-javaee6-webapp archetype</description>
<url>http://wildfly.org</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<distribution>repo</distribution>
<url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
</license>
</licenses>
<properties>
<!-- Explicitly declaring the source encoding eliminates the following
message: -->
<!-- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered
resources, i.e. build is platform dependent! -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- JBoss dependency versions -->
<version.wildfly.maven.plugin>1.0.2.Final</version.wildfly.maven.plugin>
<!-- Define the version of the JBoss BOMs we want to import to specify
tested stacks. -->
<version.jboss.bom>8.2.1.Final</version.jboss.bom>
<!-- other plugin versions -->
<version.compiler.plugin>3.1</version.compiler.plugin>
<version.surefire.plugin>2.16</version.surefire.plugin>
<version.war.plugin>2.5</version.war.plugin>
<!-- maven-compiler-plugin -->
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>1.7</maven.compiler.source>
<version.arquillian_universe>1.0.0.Alpha1</version.arquillian_universe>
<version.arquillian_core>1.1.10.Final</version.arquillian_core>
<version.arquillian_spock>1.0.0.Alpha2</version.arquillian_spock>
<version.junit>4.12</version.junit>
<version.jboss_spec>1.0.3.Final</version.jboss_spec>
<version.fest_assert>1.4</version.fest_assert>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>jboss-javaee-7.0-with-all</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>jboss-javaee-7.0-with-hibernate</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.arquillian</groupId>
<artifactId>arquillian-universe</artifactId>
<version>${version.arquillian_universe}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.easytesting</groupId>
<artifactId>fest-assert</artifactId>
<version>${version.fest_assert}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- First declare the APIs we depend on and need for compilation. All
of them are provided by JBoss WildFly -->
<!-- Import the CDI API, we use provided scope as the API is included in
JBoss WildFly -->
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the Common Annotations API (JSR-250), we use provided scope
as the API is included in JBoss WildFly -->
<dependency>
<groupId>org.jboss.spec.javax.annotation</groupId>
<artifactId>jboss-annotations-api_1.2_spec</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the JAX-RS API, we use provided scope as the API is included
in JBoss WildFly -->
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the JPA API, we use provided scope as the API is included in
JBoss WildFly -->
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Import the EJB API, we use provided scope as the API is included in
JBoss WildFly -->
<dependency>
<groupId>org.jboss.spec.javax.ejb</groupId>
<artifactId>jboss-ejb-api_3.2_spec</artifactId>
<scope>provided</scope>
</dependency>
<!-- JSR-303 (Bean Validation) Implementation -->
<!-- Provides portable constraints such as @Email -->
<!-- Hibernate Validator is shipped in JBoss WildFly -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Import the JSF API, we use provided scope as the API is included in
JBoss WildFly -->
<dependency>
<groupId>org.jboss.spec.javax.faces</groupId>
<artifactId>jboss-jsf-api_2.2_spec</artifactId>
<scope>provided</scope>
</dependency>
<!-- Now we declare any tools needed -->
<!-- Annotation processor to generate the JPA 2.0 metamodel classes for
typesafe criteria queries -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<scope>provided</scope>
</dependency>
<!-- Annotation processor that raising compilation errors whenever constraint
annotations are incorrectly used. -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<scope>provided</scope>
</dependency>
<!-- Needed for running tests (you may also use TestNG) -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- Optional, but highly recommended -->
<!-- Arquillian allows you to test enterprise code such as EJBs and Transactional(JTA)
JPA from JUnit/TestNG -->
<dependency>
<groupId>org.easytesting</groupId>
<artifactId>fest-assert</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.arquillian.universe</groupId>
<artifactId>arquillian-junit</artifactId>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.arquillian.universe</groupId>
<artifactId>arquillian-persistence</artifactId>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.arquillian.universe</groupId>
<artifactId>arquillian-chameleon</artifactId>
<scope>test</scope>
<type>pom</type>
</dependency>
</dependencies>
<build>
<!-- Maven will append the version to the finalName (which is the name
given to the generated war, and hence the context root) -->
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>${version.war.plugin}</version>
<configuration>
<!-- Java EE 7 doesn't require web.xml, Maven needs to catch up! -->
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<!-- The WildFly plugin deploys your war to a local WildFly container -->
<!-- To use, run: mvn package wildfly:deploy -->
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>${version.wildfly.maven.plugin}</version>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<!-- The default profile skips all tests, though you can tune it to run
just unit tests based on a custom pattern -->
<!-- Seperate profiles are provided for running all tests, including Arquillian
tests that execute in the specified container -->
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.surefire.plugin}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- An optional Arquillian testing profile that executes tests in your
WildFly instance -->
<!-- This profile will start a new WildFly instance, and execute the test,
shutting it down when done -->
<!-- Run with: mvn clean test -Parq-wildfly-managed -->
<id>arq-wildfly-managed</id>
<dependencies>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-arquillian-container-managed</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
<profile>
<!-- An optional Arquillian testing profile that executes tests in a remote
WildFly instance -->
<!-- Run with: mvn clean test -Parq-wildfly-remote -->
<id>arq-wildfly-remote</id>
<dependencies>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-arquillian-container-remote</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
</profiles>
I also tried this command "mvn dependency:tree" and this is the result:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my project V1 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ my3dplayer ---
[INFO] com.visiativ:my3dplayer:war:0.0.1-SNAPSHOT
[INFO] +- javax.enterprise:cdi-api:jar:1.2:provided
[INFO] | +- javax.el:javax.el-api:jar:3.0.0:provided
[INFO] | +- javax.interceptor:javax.interceptor-api:jar:1.2:provided
[INFO] | \- javax.inject:javax.inject:jar:1:provided
[INFO] +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:provided
[INFO] +- org.jboss.resteasy:jaxrs-api:jar:3.0.10.Final:provided
[INFO] +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:provided
[INFO] +- org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec:jar:1.0.0.Final:provided
[INFO] +- org.hibernate:hibernate-validator:jar:5.1.3.Final:provided
[INFO] | +- javax.validation:validation-api:jar:1.1.0.Final:provided
[INFO] | +- org.jboss.logging:jboss-logging:jar:3.1.4.GA:provided
[INFO] | \- com.fasterxml:classmate:jar:1.0.0:provided
[INFO] +- org.jboss.spec.javax.faces:jboss-jsf-api_2.2_spec:jar:2.2.8:provided
[INFO] +- org.hibernate:hibernate-jpamodelgen:jar:4.3.5.Final:provided
[INFO] | \- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:provided
[INFO] +- org.hibernate:hibernate-validator-annotation-processor:jar:5.1.3.Final:provided
[INFO] +- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.easytesting:fest-assert:jar:1.4:test
[INFO] | \- org.easytesting:fest-util:jar:1.1.6:test
[INFO] +- org.arquillian.universe:arquillian-junit:pom:1.0.0.Alpha1:test
[INFO] | +- org.arquillian.universe:arquillian-core:pom:1.0.0.Alpha1:test
[INFO] | | \- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-depchain:pom:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api:jar:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi:jar:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven:jar:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven:jar:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven:jar:2.0.0:test
[INFO] | | | +- org.sonatype.aether:aether-api:jar:1.13.1:test
[INFO] | | | +- org.sonatype.aether:aether-impl:jar:1.13.1:test
[INFO] | | | +- org.sonatype.aether:aether-spi:jar:1.13.1:test
[INFO] | | | +- org.sonatype.aether:aether-util:jar:1.13.1:test
[INFO] | | | +- org.sonatype.aether:aether-connector-wagon:jar:1.13.1:test
[INFO] | | | +- org.apache.maven:maven-aether-provider:jar:3.0.5:test
[INFO] | | | +- org.apache.maven:maven-model:jar:3.0.5:test
[INFO] | | | +- org.apache.maven:maven-model-builder:jar:3.0.5:test
[INFO] | | | +- org.apache.maven:maven-repository-metadata:jar:3.0.5:test
[INFO] | | | +- org.apache.maven:maven-settings:jar:3.0.5:test
[INFO] | | | +- org.apache.maven:maven-settings-builder:jar:3.0.5:test
[INFO] | | | +- org.codehaus.plexus:plexus-interpolation:jar:1.14:test
[INFO] | | | +- org.codehaus.plexus:plexus-utils:jar:2.0.6:test
[INFO] | | | +- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.4:test
[INFO] | | | | \- org.sonatype.plexus:plexus-cipher:jar:1.4:test
[INFO] | | | +- org.apache.maven.wagon:wagon-provider-api:jar:2.4:test
[INFO] | | | +- org.apache.maven.wagon:wagon-file:jar:2.4:test
[INFO] | | | \- org.apache.maven.wagon:wagon-http-lightweight:jar:2.4:test
[INFO] | | | \- org.apache.maven.wagon:wagon-http-shared4:jar:2.4:test
[INFO] | | | +- org.jsoup:jsoup:jar:1.7.1:test
[INFO] | | | +- org.apache.httpcomponents:httpcore:jar:4.2.3:test
[INFO] | | | \- commons-io:commons-io:jar:2.0.1:test
[INFO] | | \- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-impl-maven-archive:jar:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-api-maven-archive:jar:2.0.0:test
[INFO] | | +- org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-spi-maven-archive:jar:2.0.0:test
[INFO] | | +- org.codehaus.plexus:plexus-compiler-javac:jar:2.1:test
[INFO] | | | \- org.codehaus.plexus:plexus-compiler-api:jar:2.1:test
[INFO] | | \- org.codehaus.plexus:plexus-component-api:jar:1.0-alpha-33:test
[INFO] | | \- org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10:test
[INFO] | \- org.jboss.arquillian.junit:arquillian-junit-container:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.junit:arquillian-junit-core:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-api:jar:1.1.2.Final-wildfly-1:test
[INFO] | | \- org.jboss.arquillian.core:arquillian-core-api:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-spi:jar:1.1.2.Final-wildfly-1:test
[INFO] | | \- org.jboss.arquillian.core:arquillian-core-spi:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-api:jar:1.1.2.Final-wildfly-1:test
[INFO] | | \- org.jboss.shrinkwrap:shrinkwrap-api:jar:1.1.2:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-spi:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.core:arquillian-core-impl-base:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.test:arquillian-test-impl-base:jar:1.1.2.Final-wildfly-1:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-impl-base:jar:1.1.2.Final-wildfly-1:test
[INFO] | | +- org.jboss.arquillian.config:arquillian-config-api:jar:1.1.2.Final-wildfly-1:test
[INFO] | | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-spi:jar:2.0.0-alpha-3:test
[INFO] | +- org.jboss.arquillian.container:arquillian-container-test-impl-base:jar:1.1.2.Final-wildfly-1:test
[INFO] | \- org.jboss.shrinkwrap:shrinkwrap-impl-base:jar:1.1.2:test
[INFO] | \- org.jboss.shrinkwrap:shrinkwrap-spi:jar:1.1.2:test
[INFO] +- org.arquillian.universe:arquillian-persistence:pom:1.0.0.Alpha1:test
[INFO] | +- org.arquillian.universe:arquillian-transaction-jta:pom:1.0.0.Alpha1:test
[INFO] | | +- org.arquillian.universe:arquillian-transaction-core:pom:1.0.0.Alpha1:test
[INFO] | | | \- org.jboss.arquillian.extension:arquillian-transaction-impl-base:jar:1.0.1.Final:test
[INFO] | | \- org.jboss.arquillian.extension:arquillian-transaction-jta:jar:1.0.1.Final:test
[INFO] | | +- org.jboss.arquillian.extension:arquillian-transaction-api:jar:1.0.1.Final:test
[INFO] | | \- org.jboss.arquillian.extension:arquillian-transaction-spi:jar:1.0.1.Final:test
[INFO] | \- org.arquillian.universe:arquillian-persistence-core:pom:1.0.0.Alpha1:test
[INFO] | \- org.jboss.arquillian.extension:arquillian-persistence-dbunit:jar:1.0.0.Alpha7:test
[INFO] | +- org.jboss.arquillian.extension:arquillian-persistence-api:jar:1.0.0.Alpha7:test
[INFO] | +- org.jboss.arquillian.extension:arquillian-persistence-spi:jar:1.0.0.Alpha7:test
[INFO] | +- org.jboss.arquillian.extension:arquillian-persistence-core:jar:1.0.0.Alpha7:test
[INFO] | +- org.dbunit:dbunit:jar:2.5.0:test
[INFO] | | \- commons-collections:commons-collections:jar:3.2.1:test
[INFO] | +- org.slf4j:slf4j-api:jar:1.7.5:test
[INFO] | +- org.yaml:snakeyaml:jar:1.10:test
[INFO] | +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.12:test
[INFO] | | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.12:test
[INFO] | +- org.apache.poi:poi:jar:3.2-FINAL:test
[INFO] | | +- commons-logging:commons-logging:jar:1.1:test
[INFO] | | \- log4j:log4j:jar:1.2.16:test
[INFO] | \- org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-api-base:jar:2.0.0-alpha-3:test
[INFO] \- org.arquillian.universe:arquillian-chameleon:pom:1.0.0.Alpha1:test
[INFO] \- org.arquillian.container:arquillian-container-chameleon:jar:1.0.0.Alpha5:test
[INFO] +- org.jboss.arquillian.config:arquillian-config-impl-base:jar:1.1.2.Final-wildfly-1:test
[INFO] +- org.jboss.arquillian.container:arquillian-container-spi:jar:1.1.2.Final-wildfly-1:test
[INFO] +- org.jboss.arquillian.protocol:arquillian-protocol-servlet:jar:1.1.2.Final-wildfly-1:test
[INFO] +- org.jboss.arquillian.testenricher:arquillian-testenricher-ejb:jar:1.1.2.Final-wildfly-1:test
[INFO] +- org.jboss.arquillian.testenricher:arquillian-testenricher-resource:jar:1.1.2.Final-wildfly-1:test
[INFO] +- org.jboss.arquillian.testenricher:arquillian-testenricher-cdi:jar:1.1.2.Final-wildfly-1:test
[INFO] \- org.jboss.arquillian.testenricher:arquillian-testenricher-initialcontext:jar:1.1.2.Final-wildfly-1:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.994 s
[INFO] Finished at: 2015-11-23T22:39:38+00:00
[INFO] Final Memory: 16M/232M
[INFO] ------------------------------------------------------------------------
Thanks for your help.
Upvotes: 0
Views: 882
Reputation: 1183
I found a solution using Wildfly Hibernate BOM and Arquillian Universe BOM :
<dependency>
<groupId>org.wildfly.bom</groupId>
<artifactId>jboss-javaee-7.0-with-hibernate</artifactId>
<version>${version.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.arquillian</groupId>
<artifactId>arquillian-universe</artifactId>
<version>${version.arquillian_universe}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Upvotes: 1