idea启动springboot项目 报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;
有一次启动springboot项目的时候,报了一个非常奇怪的错误,说是找不到servletContext,springboot不是自带tomcat的吗?
在网上找了好久,说是用以下方式解决。
解决方式:
将tomcat的lib包下的servlet-api.jar 拷贝到java的jre下的lib里即可。(需要在idea中重新导入一下jdk)
mac 电脑下寻找java安装目录方式:在终端下执行
/usr/libexec/java_home -V
但是查看同事的java的jre包下并没有这个jar,但是人家都能启动起来。这个就不知到为什么了?
虽然自己解决了这个问题,却不知所以然。。。。
后来我发现我们的项目里用的是 undertow服务器,难道是跟这个有关系吗?
2.另一种解决方式:
今天将项目的服务器由tomcat换成undertow,发现项目在本地可以启动成功,但是发不到服务器就启动不成功,就报跟上面同样的错误,原来是我本地的jre环境有sevlet-api,但是我不能也往服务器的jre也放同样的吧,毕竟这样不合理。后来就查找原因,原来是undertow的jar包中已经有了sevlet-api 3.1版本的,但是为何启动不成功呢,原来我的另一个jar包中也有sevlet-api,而且还是2.5版本的,
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>compile</scope>
</dependency>
项目在启动的时候优先找到了2.5版本的,而2.5版本的ServletContext类里没有getClassLoader这个方法,所以才报的错,解决方式是将2.5版本的排除,服务器就启动成功了。
总结:看来maven项目的依赖还得多研究。
idea启动springboot项目 报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;的更多相关文章
- Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;
运行tomat 报错: Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getClassLoader()Lj ...
- SpringBoot报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
错误:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String ...
- java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
问题描述:在eclipse3.7中启动tomcat6时一直出现这个错误, java.lang.NoSuchMethodError: javax.servlet.ServletContext.getCo ...
- idea 启动java项目报错 java: 程序包javax.servlet.http不存在
File -- Project Structure
- tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()
JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...
- 【原】tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决
现象: tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig() ...
- tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig的解决
现象: tomcat 7 启动报错:java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig() ...
- Spring boot Unable to start embedded Tomcat报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()
Spring boot Unable to start embedded Tomcat 报错 java.lang.NoSuchMethodError: javax.servlet.ServletCon ...
- maven项目 @Resource报错 ava.lang.NoSuchMethodError: javax.annotation.Resource.lookup()Ljava/lang/String;
@Resource 出错 java.lang.NoSuchMethodError: javax.annotation.Resource.lookup() maven项目中,使用@Resource报错. ...
随机推荐
- 苹果 ios 微信浏览器界面 ajax 提交带 file 的 form 总是走error方法
1. 问题 问题出在微信端,而且是苹果机的微信端(苹果你咋这么矫情,安卓正常).:代码还是之前的代码,貌似是苹果升级系统后部分版本出现的 BUG,后来证明确实跟 ios 版本有关,网上也找过类似的解决 ...
- JQuery插件之【jqGrid】常用语法整理
jqGrid常用语法整理,包含数据获取.常用函数.触发事件等 jqGrid表格数据获取相关语法 获取表格所有数据 $("#grid").jqGrid("getRowDat ...
- CSS中border和outline的区别
border: border-width:1px; border-style:solid; border-color:#ccc; 可以简写为:border:1ox solid #ccc; outlin ...
- [js]js设计模式-构造函数模式
构造函数模式 function WriteJsPerson(name,age) { this.name=name; //不用手动创建obj this.age = age; this.writeJs=f ...
- VS2015 新建 ASP.NET Web应用程序, 此模板尝试加载程序集‘Microsoft.VisualStudio.Web.Project’, 解决方案
下载并安装Azure的SDK即可:
- 登录小项目 js+servlet+jdbc+mvc
项目名称: 沪上阿姨 实现需求: 实现用户登录 实现用户退出 实现用户注册 功能分析: 用户登录: 根据用户名和密码查询用户信息.查询则登录成功,查不到则登录失败. 用户退出: 销毁session 用 ...
- linux----------centos6.4安装完了以后敲ifconfig,没有局域网ip。解决如下
1.vim /etc/sysconfig/network-scripts/ifcfg-eth0 进入linux然后进入这个文件里面如下: DEVICE=eth0 HWADDR=00:0C:29:92: ...
- MyBatis注解方式批量插入操作
@Insert({ "<script>", "insert into table_name(column1, column2, column3) values ...
- Centosphp安装cassandra扩展
一.准备 当前php版本PHP Version 5.5.10,首先去http://pecl.php.net/package/cassandra,找到对应的php版本 二.下载安装 # wget htt ...
- CSS 标签选择器
CSS 标签选择器 再<stype>标签内,通过指定输入标签来配置CSS样式 <html> <head> <!-- style 设置头部标签--> &l ...