Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-16696

IllegalStateException when Arquillian deployment uses Maven resolver

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.2.0.Beta1
    • 4.1.1.Final
    • arquillian
    • None

      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:

      java.lang.IllegalStateException: There is more then a one service for serviceClass org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem(project=arquillian-bug-test)
      

      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:

      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());
      	}
      	
      }
      
      

      And the POM to go with it:

      <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>
      

            snjeza_jira Snjezana Peco (Inactive)
            rdicroce Richard DiCroce (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: