[
https://issues.jboss.org/browse/JBIDE-16696?page=com.atlassian.jira.plugi...
]
Max Rydahl Andersen commented on JBIDE-16696:
---------------------------------------------
They aren't related. After fixing the described issue, I have
faced the two new issues mentioned in my previous comment.
if the issues are not related please open another jira to resolve this other new issue.
Thanks.
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
Components: testing-tools
Affects Versions: 4.1.1.Final
Reporter: Rich DiCroce
Assignee: Snjezana Peco
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