3 Replies Latest reply on Jul 24, 2013 1:31 AM by smysnk

    DeploymentScenario contains a target (_DEFAULT_) not matching any defined Container in the registry.

    dankle

      Hi,

       

      I have a problem with the following stacktrace when running my arquillian test:

       

      org.jboss.arquillian.container.test.impl.client.deployment.ValidationException: DeploymentScenario contains a target (_DEFAULT_) not matching any defined Container in the registry.

      Please include at least 1 Deployable Container on your Classpath.

                at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.throwNoContainerFound(DeploymentGenerator.java:250)

                at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.throwTargetNotFoundValidationException(DeploymentGenerator.java:243)

                at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.validate(DeploymentGenerator.java:102)

                at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:84)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                at java.lang.reflect.Method.invoke(Method.java:597)

                at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)

                at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:100)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                at java.lang.reflect.Method.invoke(Method.java:597)

                at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)

                at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)

                at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                at java.lang.reflect.Method.invoke(Method.java:597)

                at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

                at java.lang.reflect.Method.invoke(Method.java:597)

                at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)

                at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)

                at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:135)

                at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:115)

                at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)

                at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:182)

                at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314)

                at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46)

                at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199)

                at org.junit.runners.ParentRunner.run(ParentRunner.java:300)

                at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147)

                at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)

                at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

                at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)

                at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)

                at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)

                at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

       

       

      The strange thing is that I have a running project with the same setup in another workpace. Works fine with Arquillian but as soon as I change anything project specific like changing the project name thru refactoring (both in pom file and the eclipse project name) I get the same problem in this working project. I have tried to set up a lot of projects the same way with different names but it is only the project with the specific name 'lab' that works.

       

      My question is, do I have to clear the cache in JBoss everytime I launch a new project against the same JBoss server with Arquillian? Or am I missing something in the arquillian.xml file.

      What am I doing wrong?

       

      Thanks!

       

      /Daniel

       

      Here are my files:

       

      pom.xml

      ------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      <?xml version="1.0" encoding="UTF-8"?>

      <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"

          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

        <modelVersion>4.0.0</modelVersion>

        <groupId>blog.rentalcars</groupId>

        <artifactId>rentalcars</artifactId>

        <version>1.0.0-SNAPSHOT</version>

        <packaging>war</packaging>

        <properties>

          <version.junit>4.10</version.junit>

          <version.arquillian_core>1.0.3.Final</version.arquillian_core>

        </properties>

        <dependencyManagement>

          <dependencies>

            <dependency>

              <groupId>org.jboss.spec</groupId>

              <artifactId>jboss-javaee-6.0</artifactId>

              <version>3.0.1.Final</version>

              <type>pom</type>

              <scope>import</scope>

            </dependency>

            <dependency>

              <groupId>org.jboss.arquillian</groupId>

              <artifactId>arquillian-bom</artifactId>

              <version>${version.arquillian_core}</version>

              <type>pom</type>

              <scope>import</scope>

            </dependency>

          </dependencies>

        </dependencyManagement>

        <dependencies>

          <dependency>

            <groupId>org.hibernate.javax.persistence</groupId>

            <artifactId>hibernate-jpa-2.0-api</artifactId>

            <scope>provided</scope>

          </dependency>

          <dependency>

            <groupId>org.jboss.spec.javax.ejb</groupId>

            <artifactId>jboss-ejb-api_3.1_spec</artifactId>

            <scope>provided</scope>

          </dependency>

          <dependency>

            <groupId>javax.enterprise</groupId>

            <artifactId>cdi-api</artifactId>

            <scope>provided</scope>

          </dependency>

          <dependency>

            <groupId>org.jboss.spec.javax.annotation</groupId>

            <artifactId>jboss-annotations-api_1.1_spec</artifactId>

            <scope>provided</scope>

          </dependency>

          <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>${version.junit}</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.spec.javax.servlet</groupId>

            <artifactId>jboss-servlet-api_3.0_spec</artifactId>

            <scope>provided</scope>

          </dependency>

          <dependency>

            <groupId>org.jboss.spec.javax.faces</groupId>

            <artifactId>jboss-jsf-api_2.1_spec</artifactId>

            <scope>provided</scope>

          </dependency>

          <dependency>

            <groupId>org.jboss.spec.javax.ws.rs</groupId>

            <artifactId>jboss-jaxrs-api_1.1_spec</artifactId>

            <scope>provided</scope>

          </dependency>

        </dependencies>

        <repositories>

          <repository>

            <id>JBOSS_NEXUS</id>

            <url>http://repository.jboss.org/nexus/content/groups/public</url>

          </repository>

        </repositories>

        <build>

          <finalName>rentalcars</finalName>

          <plugins>

            <plugin>

              <artifactId>maven-compiler-plugin</artifactId>

              <version>2.3.2</version>

              <configuration>

                <source>1.6</source>

                <target>1.6</target>

                <encoding>UTF-8</encoding>

              </configuration>

            </plugin>

            <plugin>

              <artifactId>maven-war-plugin</artifactId>

              <version>2.1.1</version>

              <extensions>false</extensions>

              <configuration>

                <failOnMissingWebXml>false</failOnMissingWebXml>

              </configuration>

            </plugin>

          </plugins>

        </build>

        <profiles>

          <profile>

            <id>JBOSS_AS_REMOTE_7.X</id>

            <dependencies>

              <dependency>

                <groupId>org.jboss.as</groupId>

                <artifactId>jboss-as-arquillian-container-remote</artifactId>

                <version>7.1.1.Final</version>

              </dependency>

            </dependencies>

          </profile>

        </profiles>

      </project>

       

      ------------------------------------------------------------------------------------------------------------------------------------------------------------

      arquillian.xml

      ------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      <?xml version="1.0" encoding="UTF-8" standalone="no"?>

      <arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"/>


       

      ------------------------------------------------------------------------------------------------------------------------------------------------------------

      CarDaoTest.java

      ------------------------------------------------------------------------------------------------------------------------------------------------------------

       

      package blog.ejb;

       

       

      import javax.inject.Inject;

       

       

      import org.jboss.arquillian.container.test.api.Deployment;

      import org.jboss.arquillian.junit.Arquillian;

      import org.jboss.shrinkwrap.api.ShrinkWrap;

      import org.jboss.shrinkwrap.api.asset.EmptyAsset;

      import org.jboss.shrinkwrap.api.spec.JavaArchive;

      import org.junit.Assert;

      import org.junit.Test;

      import org.junit.runner.RunWith;

       

       

      import blog.rentalcars.Car;

       

       

      @RunWith(Arquillian.class)

      public class CarDaoTest {

         @Inject

         private CarDao cardao;

       

       

         @Deployment

         public static JavaArchive createDeployment() {

            return ShrinkWrap.create(JavaArchive.class, "rentalcars.jar").

                                addClass(CarDao.class).

                                addPackage(Car.class.getPackage()).

                                addAsManifestResource("META-INF/persistence.xml", "persistence.xml").

                                addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");

         }

       

       

         @Test

         public void testIsDeployed()

         {

            Assert.assertNotNull(cardao);

         }

        

         @Test

         public void testNewCar() {

             Assert.assertEquals(0, cardao.getFastCars().size());

             cardao.saveCar(new Car("Porsche", 320));

             Assert.assertEquals(1, cardao.getFastCars().size());

         }

        

      }