SuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/l

I get the following exception

Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
        at org.apache.catalina.authenticator.AuthenticatorBase.startInternal( ~[tomcat-embed-core-8.5.6.jar!/:8.5.6]

        at org.apache.catalina.util.LifecycleBase.start( [tomcat-embed-core-8.5.6.jar!/:8.5.6]

when I start my Spring Boot application using Vaadin. The reason is that Spring Boot seems to require a specific version of javax.servlet.ServletContext. Starting with -verbose:class I see that this class is loaded from gwt-user-2.7.0.vaadin4.jar

Why does Vaadin/GWT come with its own version of ServletContext and what can I do to prevent the error. I had the error before and solved it by moving the dependency on vaadin-client to the end of my dependencies by now even that does not help anymore