java - 阿基利安 : Could not setup GlassFish Embedded Bootstrap

标签 java ejb jboss-arquillian

我在同一项目中使用嵌入式 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/

相关文章:

java - 字符串哈希码

glassfish - "Unable to convert ejbRef for ejb"在将 @Stateless EJB 的 CDI (Weld) 注入(inject) Glassfish 中的 @SessionScoped JSF2 bean 上

jboss7.x - Wildfly 端口偏移不适用于 Arquiillain

java - 对显式添加的类的 CDI 依赖注入(inject)失败

java - SWT - 显示忙碌的光标

java - AbstractList<E> - add(int index, E element)、add(E e) 等返回类型之间的区别?

java - 总重量。阻止用户打开披露面板

java - JSF/JPA 错误 : The class 'java.lang.String' does not have the property

jakarta-ee - EJB 的 CDI 生产者

java - Arquillian 测试未执行