Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] Using Jetty to launch a Spring Boot application

Hello,

I have inherited a legacy web application that we distribute as a WAR file with a separate launcher application that uses Jetty to launch the application. The web application is built using Grails, which uses the Spring framework.

The latest version of Grails uses Spring Boot to build the war file - my understanding is that Spring Boot depends on version 3.0 of the Servlet specification and uses a WebApplicationInitializer to bootstrap the configuration. In particular, there is no web.xml configuration in the war file.

I have updated our launcher application to use Jetty 9.4.8, which I believe supports Servlet 3.x, but when I launch the web application, I see what is effectively a directory listing of the war file that looks like this:

Directory: /

META-INF/ 102 bytes Jan 9, 2018 1:35:44 PM
WEB-INF/ 136 bytes Jan 9, 2018 1:35:42 PM
assets/ 8024 bytes Jan 9, 2018 1:35:44 PM

How do I configure Jetty to recognise the WebApplicationInitializer and load the Spring Boot application correctly? The current version of the launch code creates a WebAppContext in the usual way, but I assume I need to do something different.
WebAppContext context = new WebAppContext();
context.setWar(APPLICATION_WAR);
context.setContextPath("/");

server.setHandler(context);
server.addLifeCycleListener(this);
try {
server.start();
} catch (Exception e) {
serverError(e.getMessage());
}
Thank you

Robert





Back to the top