Skip to main content

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


On 9 Jan 2018, at 15:33, Joakim Erdfelt <joakim@xxxxxxxxxxx> wrote:

Jetty 7 is Servlet 2.5

Thanks - yes, I know. The old version of the web application was built using an older version of Grails that didn’t use Spring Boot - the WAR file contained a conventional web.xml and it all worked fine.

It's unlikely that you were using Servlet Annotations with your codebase, as those were added in Servlet 3.0.

Indeed - the old version of the web application didn’t rely on Servlet annotations and worked with Servlet 2.5. I knew that the new version needed Servlet 3.0 but I hadn’t realised that I would need to enable annotation processing in order for Jetty to launch the new version of the web application correctly...

Unless you recently added the annotations?

No - but I’m adding them now, which will hopefully fix the problem.

Thanks for your help - much appreciated.

Best wishes,

Robert

Joakim Erdfelt / joakim@xxxxxxxxxxx

On Tue, Jan 9, 2018 at 9:30 AM, Robert Stroud <rjs@xxxxxxxxxxx> wrote:
Hi Jan,

Thanks for your reply…

On 9 Jan 2018, at 15:19, Jan Bartel <janb@xxxxxxxxxxx> wrote:

Robert,

You don't say what version of jetty you are porting from?

Quite an old version - Jetty 7.0.1. 

If you're using spring web libraries, then you will need to ensure that you have annotation processing turned on. See this chapter of the jetty docs: https://www.eclipse.org/jetty/documentation/9.4.8.v20171121/annotations.html

Aha - thank you. That will certainly be part of my problem…

I’ll let you know how I get on.

Best wishes,

Robert


Jan

On 9 January 2018 at 15:23, Robert Stroud <rjs@xxxxxxxxxxx> wrote:
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





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



--
Jan Bartel <janb@xxxxxxxxxxx>
www.webtide.com
Expert assistance from the creators of Jetty and CometD

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


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

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


Back to the top