2015-06-12 6 views
6

Я получаю следующее сообщение об ошибкеjava.util.ServiceConfigurationError при выполнении тестов с использованием 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

+0

Вы используете Arquillian + Maven или Arquillian отдельно? Проблема, по крайней мере, говорит о том, что библиотека OmniFaces отсутствует в пути прохождения класса Arquillian. – BalusC

+0

Я использую Arquillian + Maven, хотя это похоже на проблему с classpath, странная часть заключается в том, что org.omnifaces.ApplicationInitializer находится в том же банке, что и META-INF/services/javax.servlet.ServletContainerInitializer, поскольку эта служба что вызывает загрузку ApplicationInitializer. Я нашел проблему и опубликую решение вскоре. – LoneWolf

ответ

7

После попытки запустить встроенную войну и запустить его на Wildfly автономны, мне удалось сузить проблему до Arquillian, после тестирования Arquillian + Glassfish внедренного и бежал без проблем, я подумал, что проблема была Arquillian + Wildfly, еще несколько поисковых запросов, и я нашел похожие проблемы, связанные с использованием Wildfly, встроенной в Arquillian, и что Wildfly управлялся с Arquillian, и это хорошо, поэтому я не могу сказать похоже на какую-то ошибку, но также похоже на общий совет в режиме онлайн для использования управляемых или удаленных контейнеров для тестов 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> 

решение заканчивает тем, что не используя Wildfly с встроенной Arquillian, но сумел вместо этого.

 Смежные вопросы

  • Нет связанных вопросов^_^