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/  <http://localhost:61508/META-INF/>   102 bytes       Jan 9, 2018 
1:35:44 PM
WEB-INF/  <http://localhost:61508/WEB-INF/>     136 bytes       Jan 9, 2018 
1:35:42 PM
assets/  <http://localhost:61508/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




_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to