Starting vaadin on WebSphere Application Server fails

Hello,

I’m struggling with running my vaadin-Application on an IBM WebSphere AS. I can deploy it, but once I’m trying t start it, the start fails with this Exception:

com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: null
	at com.ibm.wsspi.runtime.component.WsComponentImpl.join(WsComponentImpl.java:432)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCUList(CompositionUnitMgrImpl.java:1295)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:275)
	at com.ibm.ws.runtime.component.ContainerHelper.startComponents(ContainerHelper.java:540)
	at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:627)
	at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:618)
	at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:252)
	at com.ibm.ws.runtime.component.ContainerHelper.startComponents(ContainerHelper.java:540)
	at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:627)
	at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:618)
	at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:555)
	at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:311)
	at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:224)
	at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:697)
	at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:508)
	at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:234)
	at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:101)
	at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:82)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:508)
	at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:508)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
	at org.eclipse.core.launcher.Main.run(Main.java:981)
	at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:412)
	at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:173)
Caused by: com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: null
	at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:433)
	at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:719)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1247)
	at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1514)
	at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:704)
	at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:1096)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:799)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2315)
	at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5556)
	at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5682)
	at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
	at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2320)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:436)
	at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:379)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:127)
	at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:985)
	at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:524)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: null
	at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:914)
	at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:789)
	at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:427)
	... 18 more
Caused by: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: null
	at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:186)
	at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:904)
	... 20 more
Caused by: java.lang.NullPointerException
	at com.vaadin.flow.server.startup.AbstractRouteRegistryInitializer.validateRouteAnnotation(AbstractRouteRegistryInitializer.java:187)
	at com.vaadin.flow.server.startup.AbstractRouteRegistryInitializer.lambda$checkForConflictingAnnotations$1(AbstractRouteRegistryInitializer.java:96)
	at com.vaadin.flow.server.startup.AbstractRouteRegistryInitializer$$Lambda$27.00000000304EBCD0.accept(Unknown Source)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:959)
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:591)
	at com.vaadin.flow.server.startup.AbstractRouteRegistryInitializer.checkForConflictingAnnotations(AbstractRouteRegistryInitializer.java:92)
	at com.vaadin.flow.server.startup.AbstractRouteRegistryInitializer$$Lambda$20.00000000304F60F0.accept(Unknown Source)
	at java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:383)
	at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1564)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:523)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:513)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:719)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:245)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:510)
	at com.vaadin.flow.server.startup.AbstractRouteRegistryInitializer.validateRouteClasses(AbstractRouteRegistryInitializer.java:62)
	at com.vaadin.flow.server.startup.RouteRegistryInitializer.onStartup(RouteRegistryInitializer.java:47)
	at com.ibm.ws.webcontainer.webapp.WebAppImpl.initializeServletContainerInitializers(WebAppImpl.java:652)
	at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:436)
	at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
	at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:171)
	... 21 more

My Project is pretty simple:
I have a WebProject, that contains all vaadin-jars and a MainView.java file, which is just:

@Route("")
public class MainView extends VerticalLayout
{
  public MainView()
  {
    Button button = new Button("TEST");
    button.addClickListener(e -> {
      Notification.show("test");
    });
    this.add(button);
  }
}

so nothing too fancy. This WebProject is surrounded by an EAR-Project, that contains nothing else (tested with an application.xml, but no difference.)

One should note, that this very same Project exported as the same .ear runs just perfectly on an empty wildfly server - but no matter what I’m trying: I do not get vaadin to run on WebSphere (followed the available Tutorials already).

Any help / Idea is highly appreciated!

Simon
17441230.png

Which version of WebSpehere you are using?

We have the same error. Our version of Websphere is WebSphere Application Server 8.5.5.9

Thanks

Jaume

Websphere is WebSphere Application Server 8.5.5.9

WebSphere WAS 8.5.5.x series are not compatible with Flow. With Flow you need application server that supports Servlet 3.1 and in case you use CDI, CDI v1.2. These requirements are filled e.g. by WebSphere 8.5.x Liberty Profile and WebSphere 9 series.