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

我收到以下错误

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

在运行Arquillian测试时。

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

在尝试运行构建的战争并在Wildfly独立运行它之后,我设法将问题缩小到Arquillian,在测试Arquillian + Glassfish嵌入并运行没有问题后,我发现问题是Arquillian + Wildfly,更多的Google搜索,我发现与使用嵌入Arquillian的Wildfly相关的类似问题以及使用Arquillian管理的Wildfly运行良好,我之所以无法辨别的原因似乎是某种bug,但似乎也是在线使用托管或远程的一般建议用于Arquillian测试的容器而不是嵌入式容器。

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

 org.wildfly wildfly-arquillian-container-embedded 8.2.0.Final test   org.wildfly wildfly-embedded 8.2.0.Final provided  

并添加了这个:

   org.wildfly wildfly-arquillian-container-managed 8.2.0.Final test  

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