首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第2191行的com.vaadin.server.VaadinService.loadSession中的AssertionError

第2191行的com.vaadin.server.VaadinService.loadSession中的AssertionError
EN

Stack Overflow用户
提问于 2019-10-31 00:41:26
回答 1查看 52关注 0票数 1

我正在尝试在测试中启动Vaadin 8.9.1

代码语言:javascript
复制
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=8000")
public class StartTest extends AbstractJUnit4SpringContextTests {
...

它可以正常启动。但是,当尝试通过http://127.0.0.1:8000/进入应用程序时,我总是得到以下错误:

代码语言:javascript
复制
...
2019-10-30 17:31:13 INFO  Vaadin4SpringServlet:85 - Using custom SystemMessagesProvider ch.sofgen.ast.controlpanel.ControlPanelApplication$1@1ee2b6c3
2019-10-30 17:31:13 INFO  Vaadin4SpringServlet:105 - Custom Vaadin4Spring servlet initialization completed
Oct 30, 2019 5:31:14 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet [vaadin4SpringServlet] threw exception
java.lang.AssertionError
    at com.vaadin.server.VaadinService.loadSession(VaadinService.java:2191)
    at com.vaadin.server.VaadinSession.getForSession(VaadinSession.java:436)
    at org.vaadin.spring.security.managed.SecurityContextVaadinRequestListener.onRequestStart(SecurityContextVaadinRequestListener.java:56)
    at org.vaadin.spring.servlet.Vaadin4SpringServletService.requestStart(Vaadin4SpringServletService.java:65)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1591)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:445)  
    ...

使用Intellij启动Vaadin或使用Maven works通过Spring Boot启动Vaadin。我用谷歌进行了密集的搜索,并调试了应用程序,但不知道如何解决这个问题。有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-10-31 20:31:36

显然,Vaadin的错误是Java Assert语句忘记删除。只需使用以下命令禁用VaadinSession类的Java断言

代码语言:javascript
复制
SpringBootMainClassName.class.getClassLoader().setClassAssertionStatus(VaadinSession.class.getName(), false);.

然后通过run方法直接实例化SpringBootMainClassName,并在从StartTest中删除所有测试注释之后。此外,不要忘记再次使用以下命令清除Java断言状态

代码语言:javascript
复制
SpringBootMainClassName.class.getClassLoader().clearAssertionStatus();

在Spring Boot服务器实例化之后。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58630083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档