У меня есть проект Java EE, предназначенный для работы на Glassfish 4.1. Я хочу использовать Selenium для сбора информации с некоторых веб-страниц, т.е. мне нужно включить Selenium в развертывание (не только для тестов).
Я использую Eclipse IDE и ранее использовал функцию инкрементного развертывания в Eclipse для автоматического развертывания всех сохраненных изменений в проекте. Но когда я включил (с Maven), зависимости для инкрементного развертывания Selenium перестали работать. Проект по-прежнему можно развернуть в Glassfish, но мне приходится перезапускать Glassfish между каждым изменением. Я получаю следующую ошибку в Eclipse:
Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: java.util.concurrent.ExecutionException: com.sun.faces.config.ConfigurationException: Unable to parse document 'bundle://136.0:1/com/sun/faces/jsf-ri-runtime.xml': DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.. Please see server.log for more details.
org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl включен в состав Selenium как транзитивная зависимость (xerces:xercesImpl:2.11.0).
Вот мои зависимости Maven:
<dependency>
<groupId>org.jboss.arquillian.selenium</groupId>
<artifactId>selenium-bom</artifactId>
<version>2.44.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-htmlunit-driver</artifactId>
</dependency>
Я надеюсь, что для этого есть решение, но после прочтения ответа Йенса Шаудера в Работа с Xerces ад в Java/Maven? Боюсь, что может и не быть. Кто-нибудь?