Friday, January 29, 2010

Embedded jetty version problems in Eclipse

Issue:

In my project, I was getting maven to download two dependencies:
1.
< dependency >
< groupId >org.mortbay.jetty< /groupId >
< artifactId >jetty-embedded< /artifactId >
< version >6.1.9< /version >
< /dependency >


2. < dependency >
< groupId >org.openqa.selenium.client-drivers< /groupId >
< artifactId >selenium-java-client-driver< /artifactId >
< version >0.9.2< /version >
< /dependency >


Looking at the dependency tree for the selenium codebase, I found that the org.mortbay.jetty version number used in Selenium 0.9.2 was 5.1.0. Hence, Eclipse defaults to using Jetty API 5.1.0 for rather than 6.1.9 - causing my code (which needs Jetty 6.* to be marked as an error in Eclipse).


How to Resolve It?
-------------------------
Use Selenium 1.0.1:
< dependency >
< groupId >org.seleniumhq.selenium.client-drivers< /groupId >
< artifactId >selenium-java-client-driver< /artifactId >
< version >1.0.1< /version >
< /dependency >

This Selenium version uses Jetty 6.1.6. Hence, your project code (that needs Jetty 6.*) will be resolved correctly by Eclipse.