【问题标题】:NullPointerException when initializing VaadinServlet using Vaadin 14使用 Vaadin 14 初始化 VaadinServlet 时出现 NullPointerException
【发布时间】:2021-05-13 20:03:27
【问题描述】:
我正在将 Vaadin 8 应用程序升级到 Vaadin 14。我必须手动定义 VaadinServlet 的扩展名,而不是使用 Vaadin 14 的自动 servlet 注册,因为我需要将其映射到特定的 URL 模式。我正在使用web.xml 配置 servlet,其方式与为 Vaadin 8 成功配置的方式相同。
当我的 servlet 初始化时,我得到一个 ServletException,这是由来自 Vaadin 代码的 NullPointerException 引起的。我查看了源代码,我可以看到当 Vaadin 尝试从 servlet 的 ServletContext 获取 Lookup 实例但它返回 null 时发生异常。我发现Lookup 实例应该被添加到LookupServletContainerInitializer 的上下文中,但在我的情况下似乎没有发生这种情况。
有谁知道可能导致此问题的原因? 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 更多
【问题讨论】:
标签:
vaadin
vaadin-flow
vaadin14