SpringBoot运行NoSuchMethodError
来源:互联网 发布:知乎日报变成读读日报 编辑:程序博客网 时间:2024/06/05 11:00
最近在看《精通Spring 4.x 企业应用开发实战》,学习到第三章Spring Boot,发现配套代码报出如下错误:
2017-06-24 15:36:16.905 ERROR 37076 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Exception sending context initialized event to listener instance of class org.apache.tomcat.websocket.server.WsContextListenerjava.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String; at org.apache.tomcat.websocket.server.WsServerContainer.<init>(WsServerContainer.java:149) ~[tomcat-embed-websocket-8.0.32.jar:8.0.32] ……
一番苦查,终于找到了问题的原因:http://blog.csdn.net/mjt_284321/article/details/62418379
解决
我本地的tomcat版本是7.0.69,而spring boot默认使用到了tomcat8.0.32,所以就出现了方法找不到。在maven配置文件pom.xml中加上:
<properties> <tomcat.version>7.0.69</tomcat.version> </properties>
终于运行成功。
另外书中指出了另外一个坑也被我完美的踩到:
基于Spring boot应用,由于当前应用包含了一个可直接运行的Application类,所以在开发过程中,大家很容易在IDE(如IDEA工具)中单机鼠标右键运行当前类。虽然可以启动当前应用,在非Web应用中可能不会有什么问题,但在Web应用中,如果采用上述方法直接运行应用,那么在访问有视图的页面时(如JSP),会一直报404错误。
因为直接运行当前启动类,Spring Boot无法找到当前页面资源。因此,基于Spring Boot的应用在开发调试的时候,一定要基于Spring Boot提供的spring-boot-maven-plugin插件命令来运行应用或通过Spring Boot命令行来运行应用。
直接运行当前类是这个样子:
Whitelabel Error Page
阅读全文
1 0
- SpringBoot运行NoSuchMethodError
- 运行jetty出现java.lang.NoSuchMethodError
- springboot 项目运行jsp
- SpringBoot运行原理
- scala运行springboot
- springBoot jar 运行
- SpringBoot运行的实例
- NoSuchMethodError
- NoSuchMethodError
- NoSuchMethodError
- NoSuchMethodError
- NoSuchMethodError
- 《Springboot极简教程》运行SpringBoot程序
- springboot打包运行问题解
- SpringBoot运行原理的分析:
- SpringBoot 创建启动运行类
- springboot(六)jar快速运行
- springboot jar 后台运行 sh
- 携程是如何做React Native优化的
- C语言二级指针的三种模型
- 安装centos后需要安装的package
- JDBC基础入门
- 数据库导出表结构
- SpringBoot运行NoSuchMethodError
- Hello Kotlin(一)初次见面
- 统计学习方法笔记五---KNN(K近邻)
- window环境下python安装numpy、scipy、matplotlib等科学计算包
- RAC学习应用篇--基础应用篇(二)--signal
- Linux常用命令大全
- 角色移动动画偏移问题
- 关于python中的查询数据库内容中用到的fetchone()函数和fetchall()函数
- 解决Eclipse中maven项目无法添加到tomcat下的问题