Я сделал несколько вещей, чтобы сделать эту работу.Моим примером для подражания был архетип jboss-javaee6 Maven, который также использует Arquillian для модульного тестирования кода на удаленном сервере JBoss 6.Я сделал следующие шаги:
Добавить arquillian.xml
Я добавил Arquillian.xml в src / test / resources:
<?xml version="1.0" encoding="UTF-8"?>
<arquillian xmlns="http://jboss.com/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">
<container qualifier="jbossas-remote" default="true">
<property name="httpPort">8080</property>
</container>
</arquillian>
Сжатие веб-архива вместо JavaArchive
Использование return Shrinkwrap.create( WebArchive.class, "test.war")
вместо JavaArchive.class
сделало доступным метод addAsWebInfResource()
, где я мог бы добавить пустой сгенерированный beans.xml.
Настройте pom.xml, чтобы уменьшить длину CLASSPATH
Eclipse постоянно разрывался с javaw.exe, выдавая Ошибка CreateProcess = 87 сообщение.Это было вызвано тем, что CLASSPATH слишком длинный для команды консоли.Поскольку зависимость jboss-as-client добавила Bazillions зависимостей, я изменил ее на jboss-as-profileservice-client , которая работает нормально и имеет гораздо меньше зависимостей.
Еще одна важная вещь - иметь файл jndi.properties в каталоге src / test / resources , как указано в документации по Arquillian.Но это уже было здесь.Я думаю, что arquillian.xml имел значение - этот файл никогда не упоминался в документах, просто видел его в архетипе.
Это мой профиль Maven для удаленного тестирования JBoss:
<profile>
<id>jbossas-remote-6</id>
<dependencies>
<dependency>
<groupId>org.jboss.arquillian.container</groupId>
<artifactId>arquillian-jbossas-remote-6</artifactId>
<version>1.0.0.Alpha5</version>
</dependency>
<dependency>
<groupId>org.jboss.spec</groupId>
<artifactId>jboss-javaee-6.0</artifactId>
<version>2.0.0.Final</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.jbossas</groupId>
<artifactId>jboss-as-profileservice-client</artifactId>
<version>6.0.0.Final</version>
<type>pom</type>
</dependency>
</dependencies>
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
</testResources>
</build>
Надеюсь, мой ответ кому-нибудь пригодится.:)