java.util.ServiceConfigurationError 当 运行 使用 arquillian+omnifaces 测试时

java.util.ServiceConfigurationError when running tests using arquillian+omnifaces

我收到以下错误

"java.util.ServiceConfigurationError: javax.servlet.ServletContainerInitializer: Provider org.omnifaces.ApplicationInitializer not found"

当 运行 Arquillian 测试时。

我已经把我能做的最基本的测试用例放在这里了:https://www.dropbox.com/s/kou5v8kqs5g4g4m/test.zip?dl=0

在尝试 运行 构建 war 并在 Wildfly 独立平台上 运行 之后,我设法将问题缩小到 Arquillian,在测试 Arquillian+Glassfish 嵌入式和 运行ning 没有问题,我认为问题是 Arquillian+Wildfly,更多谷歌搜索,我发现了与使用 Arquillian 嵌入的 Wildfly 相关的类似问题,并且 Wildfly 与 Arquillian 运行s 管理很好,原因为什么我不能真正说出这似乎是某种错误,但也似乎是在线的一般建议,即使用托管或远程容器进行 Arquillian 测试而不是嵌入式测试。

所以解决方案非常简单,只需删除这个:

    <dependency>
        <groupId>org.wildfly</groupId>
        <artifactId>wildfly-arquillian-container-embedded</artifactId>
        <version>8.2.0.Final</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.wildfly</groupId>
        <artifactId>wildfly-embedded</artifactId>
        <version>8.2.0.Final</version>
        <scope>provided</scope>
    </dependency>

并添加了这个:

    <dependency>
        <groupId>org.wildfly</groupId>
        <artifactId>wildfly-arquillian-container-managed</artifactId>
        <version>8.2.0.Final</version>
        <scope>test</scope>
    </dependency>

解决方案最终没有使用嵌入了 Arquillian 的 Wildfly,而是进行了管理。