Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] Problem with jetty-maven-plugin and classloading

I have been struggling with a problem using the jetty-maven-plugin in our project for a couple of days now and have a hard time figuring out a solution.

The trouble started when we upgraded our AIDA project [1] to Java8, switching to Jetty 9.3.0M1 when we upgraded. The 9.3.0M1 milestone seems to have an issue with threading, it eats a lot of CPU, which the previously used version did not, so I wanted to go back to the 9.2.10.v20150310 stable release, branched at [2]. Unfortunately, I have hit another problem here, which seems to be a class loading problem.

When I start our service with

mvn jetty:run

I get the following error (full log at http://pastebin.com/16unKYxU ):

2015-04-21 11:09:20.117:WARN:oejuc.AbstractLifeCycle:main: FAILED o.e.j.m.p.JettyWebAppContext@2f5c1332{/aida,file:/Users/jhoffart/Code/github/aida/src/mpi/aida/service/web/,STARTING}{file:/Users/jhoffart/Code/github/aida/src/mpi/aida/service/web/}: java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype
java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.jsp.JuliLog not a subtype
        at java.util.ServiceLoader.fail(ServiceLoader.java:239)
        at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)

I investigated and it seems that org.eclipse.jetty.apache.jsp.JuliLog is loaded twice by the ServiceLoader. The first time it works, the second time it fails with the above error. To my eyes, the ClassLoaders are the same.

I also tried jetty-maven-plugin in a new project, where all versions work fine, so it seems to be a conflict with another dependency of our aida project. Unfortunately, I have failed to find a good way to identify where exactly the problem comes from.

Any help would be greatly appreciated!

Cheers
Johannes

[1] https://github.com/yago-naga/aida
[2] https://github.com/yago-naga/aida/tree/jetty-9.2

Back to the top