> On 9 Jan 2018, at 15:30, Robert Stroud <[email protected]> wrote:
>
>> On 9 Jan 2018, at 15:19, Jan Bartel <[email protected]
>> <mailto:[email protected]>> wrote:
>
>> 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
>> <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.
Jan, Joakim,
Thank you so much for your help and your quick response - turning on annotation
processing fixed the problem.
For the benefit of anyone with a similar problem in the future, I simply needed
to add two lines to my launch method, namely:
// Enable annotation processing so that Spring Boot does its magic
Configuration.ClassList classlist = Configuration.ClassList
.setServerDefault(server);
classlist.addBefore(
"org.eclipse.jetty.webapp.JettyWebXmlConfiguration",
"org.eclipse.jetty.annotations.AnnotationConfiguration");
(adapted from
https://www.eclipse.org/jetty/documentation/9.4.8.v20171121/using-annotations-embedded.html)
The example given in the Annotations chapter is more complicated because it
configures JNDI as well, but for Spring Boot, you only need
AnnotationConfiguration.
Best wishes,
Robert
>
> Best wishes,
>
> Robert
>
>>
>> Jan
>>
>> On 9 January 2018 at 15:23, Robert Stroud <[email protected]
>> <mailto:[email protected]>> 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/ <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] <mailto:[email protected]>
>> To change your delivery options, retrieve your password, or unsubscribe from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>> <https://dev.eclipse.org/mailman/listinfo/jetty-users>
>>
>>
>>
>> --
>> Jan Bartel <[email protected] <mailto:[email protected]>>
>> www.webtide.com <http://www.webtide.com/>
>> Expert assistance from the creators of Jetty and CometD
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected] <mailto:[email protected]>
>> 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
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users