我在同一项目中使用嵌入式 Glassfish (3.1.2) 使用 arquillian (1.1.2 final) 创建了一个 JPA 测试,并使用 EJBContainer 创建了一个测试。 我可以在 Eclipse (Kepler) 中一个接一个地运行测试(当我在后台运行 Derby 时),但是当我尝试使用 maven 运行测试时
'mvn clean test'
我得到错误:
Could not setup GlassFish Embedded Bootstrap
从万无一失的日志中,我找到了这一行:
Caused by: org.glassfish.embeddable.GlassFishException: Already bootstrapped
现在,如果我注释掉设置 EJBContainer 的测试,我可以使用 maven 正常运行 Arquillian 测试。
问题是,我怎样才能让这两个测试类彼此“独立”运行,这样 Arquillian 就不会因为使用 EJBContainer 创建的嵌入式容器而崩溃?
我已经尝试在创建它的测试类中的 @AfterClass 方法中关闭 EJBContainer。
最佳答案
您是否尝试过在 maven-surefire-plugin 配置中创建单独的执行?一次执行使用 EJBContainer 的测试类,一次执行使用 Glassfish 的测试类。
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/ejbcontainer/*TestCase*</include>
</includes>
</configuration>
<executions>
<execution>
<id>glassfish</id>
<goals>
<goal>test</goal>
</goals>
<phase>test</phase>
<configuration>
<includes>
<include>**/glassfish/*TestCase*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
关于java - 阿基利安 : Could not setup GlassFish Embedded Bootstrap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21848832/