В моем проекте мы создали модуль Maven для получения JBoss AS и распаковали его.
Тогда все тестовые случаи могут быть запущены под этим Jboss AS как встроенный контейнер.
Мы используем jboss-ejb3-embedded-standalone для вызова встроенного контейнера, однако он просто находит JBOSS_HOME из переменных среды ииспользуйте это, чтобы бежать.Таким образом, мы должны обновить JBOSS_HOME для каждой установки mvn.
Я попытался сделать это в maven, введя exec-maven-plugin, как показано ниже:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<executable>env</executable>
<environmentVariables>
<JBOSS_HOME>
C:/Sample/embedded-container/jboss-${version.org.jboss.jbossas}
</JBOSS_HOME>
</environmentVariables>
</configuration>
<executions>
<execution>
<id>resetJbossHome</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
В выводе консоли яможно увидеть
[INFO] --- exec-maven-plugin:1.2.1:exec (resetJbossHome) @ test-embedded ---
....
JBOSS_HOME=C:/Sample/embedded-container/jboss-6.1.0.Final
....
Но при запуске JBOSS он по-прежнему работает с исходным набором JBOSS_HOME.
Кроме того, я пробовал использовать maven-antrun-plugin.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>copyRelease</id>
<phase>pre-integration-test</phase>
<configuration>
<tasks>
<exec executable="env">
<env key="JBOSS_HOME" value="C:/Sample/embedded-container/jboss-${version.org.jboss.jbossas}"/>
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Получается то же самое.
Я ошибаюсь в конфигурации или есть какой-то лучший способ?