[jbosstools-issues] [JBoss JIRA] (JBIDE-16696) IllegalStateException when Arquillian deployment uses Maven resolver
Rich DiCroce (JIRA)
issues at jboss.org
Tue Mar 4 15:05:34 EST 2014
Rich DiCroce created JBIDE-16696:
------------------------------------
Summary: IllegalStateException when Arquillian deployment uses Maven resolver
Key: JBIDE-16696
URL: https://issues.jboss.org/browse/JBIDE-16696
Project: Tools (JBoss Tools)
Issue Type: Bug
Affects Versions: 4.1.1.Final
Reporter: Rich DiCroce
In an Arquillian test class, if the @Deployment method uses the ShrinkWrap Maven Resolver API, the method will be marked with the following warning and the Arquillian Cruiser view does not show the deployment:
{noformat}
java.lang.IllegalStateException: There is more then a one service for serviceClass org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem(project=arquillian-bug-test)
{noformat}
There is no stack trace to indicate how the problem might be happening. At first, I thought this might be a ShrinkWrap bug, but this exception doesn't occur when I actually run the test. Eclipse shows only one implementation of MavenResolverSystem on the classpath.
Example test class to reproduce the problem:
{code}
package test;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(Arquillian.class)
public class ARQJBTBugTest {
@Test
public void test() {
}
@Deployment
public static Archive<?> createDeployment() {
return ShrinkWrap.create(WebArchive.class)
.addAsLibraries(Maven.resolver()
.loadPomFromFile("pom.xml")
.importRuntimeDependencies()
.resolve()
.withTransitivity()
.asFile());
}
}
{code}
And the POM to go with it:
{code:xml}
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lapis.throwaway</groupId>
<artifactId>arquillian-bug-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<version.arquillian_core>1.1.3.Final</version.arquillian_core>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-impl-maven-archive</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>${version.arquillian_core}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
</plugin>
</plugins>
</build>
</project>
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbosstools-issues
mailing list