我正在将 Vaadin 8 应用程序升级到 Vaadin 14。我必须手动定义 的扩展,VaadinServlet而不是使用 Vaadin 14 的自动 servlet 注册,因为我需要将其映射到特定的 URL 模式。我使用web.xml与为 Vaadin 8 成功配置 servlet 相同的方式配置 servlet。
当我的 servlet 初始化时,我得到一个来自 Vaadin 代码的ServletException错误。我查看了源代码,可以看到当 Vaadin 尝试从 servletNullPointerException获取实例并且返回 null 时发生异常。我发现该实例应该添加到 中的上下文中,但在我的情况下似乎没有发生这种情况。LookupServletContextLookupLookupServletContainerInitializer
有谁知道可能导致此问题的原因是什么?下面是堆栈跟踪NullPointerException。
引起原因:java.lang.NullPointerException
在com.vaadin.flow.server.DeploymentConfigurationFactory.getTokenFileFromClassloader(DeploymentConfigurationFactory.java:341)
在 com.vaadin.flow.server.DeploymentConfigurationFactory.getTokenFileContents(DeploymentConfigurationFactory.java:311)
在 com.vaadin.flow.server.DeploymentConfigurationFactory.readBuildInfo(DeploymentConfigurationFactory.java:181)
在 com.vaadin.flow.server.DeploymentConfigurationFactory.createInitParameters(DeploymentConfigurationFactory.java:174)
在com.vaadin.flow.server.VaadinServlet.createDeploymentConfiguration(VaadinServlet.java:152)
在 com.vaadin.flow.server.VaadinServlet.createServletService(VaadinServlet.java:190)
在 com.vaadin.flow.server.VaadinServlet.init(VaadinServlet.java:77)
在 org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:602)
... 28 更多