Имам проект за 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>
Надявам се, че има решение за това, но след като прочетох отговора на Jens Schauder в Справяне с Xerces ад в Java/Maven? Страхувам се, че може да няма. Някой?