Wednesday, June 17, 2009

Incompatilibidade entre o Selenium-Maven-Plugin e o GWT

Problema

Ao tentar executar o GWT em hosted mode, apresentou a seguinte mensagem de erro:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Class org.mortbay.jetty.servlet.HashSessionManager does not implement the requested interface org.mortbay.jetty.SessionManager
at org.mortbay.jetty.servlet.SessionHandler.setSessionManager(SessionHandler.java:88) at org.mortbay.jetty.servlet.SessionHandler.(SessionHandler.java:62) at org.mortbay.jetty.servlet.SessionHandler.(SessionHandler.java:53) at org.mortbay.jetty.webapp.WebAppContext.(WebAppContext.java:297) at com.google.gwt.dev.ServletValidator.create(ServletValidator.java:67) at com.google.gwt.dev.ServletValidator.create(ServletValidator.java:51) at com.google.gwt.dev.HostedMode.doStartup(HostedMode.java:344) at com.google.gwt.dev.HostedModeBase.startUp(HostedModeBase.java:585) at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:397) at com.google.gwt.dev.HostedMode.main(HostedMode.java:232)

Motivo

O seguinte trecho do pom.xml:

...


<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>selenium-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<scope>test</scope>
</dependency>

...
A dependência acima está trazendo alguma versão do jetty que está fazendo com que o hosted mode não seja executado. Uma solução proposta por alguém aqui para excluir o jetty, não funcionou.

Solução

Como só estava querendo as bliotecas do selenium para rodar os testes, utilizei a dependência do Testng, como abaixo:

...

<dependency>
<groupId>org.apache.geronimo.testsupport</groupId>
<artifactId>testsupport-selenium</artifactId>
<version>2.1.3</version>
</dependency>

...

Pendência

Na solução encontra o jar: testng-5.1-jdk15.jar é desnecesário. Verificar como excluí-lo

No comments:

Post a Comment