Closed
Description
As reported on Stackoverflow The current approach causes problems when a dependency pulls in a different version of Jetty and we end up with a mixture of versions on the classpath. For example:
These two dependencies:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>4.7.2</version>
<scope>test</scope>
</dependency>
</dependencies>
Produce this mixture of Jetty module versions:
$ mvn dependency:tree | grep org.eclipse.jetty:
[INFO] | +- org.eclipse.jetty:jetty-webapp:jar:8.1.15.v20140411:compile
[INFO] | \- org.eclipse.jetty:jetty-jsp:jar:8.1.15.v20140411:compile
[INFO] +- org.eclipse.jetty:jetty-continuation:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-deploy:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-http:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-io:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-jmx:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-security:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-server:jar:8.1.10.v20130312:test
[INFO] +- org.eclipse.jetty:jetty-servlet:jar:8.1.10.v20130312:compile
[INFO] +- org.eclipse.jetty:jetty-util:jar:8.1.15.v20140411:test
[INFO] +- org.eclipse.jetty:jetty-xml:jar:8.1.10.v20130312:compile
A secondary problem here is that a number of the transitive dependencies of spring-boot-starter-jetty
have become test-only dependencies; org.eclipse.jetty:jetty-server
, for example. @snicoll Any ideas why that's happening?