Vaadin Flow Deployment Issue with WebLogic 12.1.3

Well, this morning I tested my situation with two base Vaadin projects. The Vaadin Flow Beverage Buddy and a skeleton Vaadin 8, using the first few steps of the V8 tutorial. Both .war files deployed to the WebLogic 12.1.3 server. The V8 project started and I was able to enter a name in the text field and the server side echoed it back.

V10 project did not start. It said: weblogic.management.DeploymentException: Servlet 3.1+ is required.

Checked into the Standards list for WLS 12.1.3 at: https://docs.oracle.com/middleware/1213/wls/NOTES/whatsnew.htm#NOTES128 WLS 12.1.3 supports Servlet version 3.0, not 3.1. So, the Flow projects build and run on my laptop because I am using 12.2.1.2.0, which does support Servlet 3.1.

I have three options at this point, either upgrade WLS to 12.2.1.2.0,downgrade my application to V8 or figure out how to get the Flow Application to run using Servlet 3.0 instead of 3.1.

I am going to look into running the application under Servlet 3.0, https://vaadin.com/docs/v10/flow/advanced/tutorial-application-lifecycle.html has some information about configuring a VaadinServlet using @WebServlet for Servlet 3.0.

The lesson here is to make sure the version of Vaadin selected is compatible with the application server’s Servlet specification. I am going to test the base Beverage Buddy app to see if I can’t get it to use the @WebServlet annotation to have it run the 3.0 specification.

Researching this issue I found in the V8 documentation references to Servlet 3.0 specification, https://vaadin.com/docs/v8/framework/application/application-environment.html

Looking in the V10 documentation, the Application Lifecycle document: https://vaadin.com/docs/v10/flow/advanced/tutorial-application-lifecycle.html#application.lifecycle.servlet-service was helpful.