标签:lang Ljava String jar class api ServletContext servlet javax
以下方法适用于基于spring boot的应用
先看以下报错信息:
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-04-28 17:31:14.186 ERROR 12404 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.apache.catalina.authenticator.AuthenticatorBase.startInternal(AuthenticatorBase.java:1178)
The following method did not exist:
javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
The method's class, javax.servlet.ServletContext, is available from the following locations:
jar:file:/F:/jdk/jre/lib/ext/servlet-api.jar!/javax/servlet/ServletContext.class
jar:file:/C:\Users\fan\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar!/javax/servlet/ServletContext.class
t was loaded from the following location:
jar:file:/F:/jdk/jre/lib/ext/servlet-api.jar!/javax/servlet/ServletContext.class
Action:
Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext
Process finished with exit code 1
注意一下这句话:
The method's class, javax.persistence.Table, is available from the following locations:
jar:file:/F:/jdk/jre/lib/ext/servlet-api.jar!/javax/servlet/ServletContext.class
jar:file:/C:\Users\fan\.m2\repository\javax\servlet\javax.servlet-api\3.1.0\javax.servlet-api-3.1.0.jar!/javax/servlet/ServletContext.class
大致是说本地有两个javax.servlet-api.jar 库, 而项目启动时使用了错误的那个库,导致找不到对应方法。解决办法就是删掉一个。
因为我的项目是基于maven的,所以项目应该使用maven下载的jar,F盘的那个显然是不需要的(maven下载的jar包默认存放位置为c盘user目录下的.m2文件夹内),所以删除掉F:/jdk/jre/lib/ext/servlet-api.jar就搞定了。
ps:如果是环境用的是idea,可能需要先关闭idea才能删除目标jar包
傲娇的鲤鱼 发布了29 篇原创文章 · 获赞 31 · 访问量 6万+ 私信 关注标签:lang,Ljava,String,jar,class,api,ServletContext,servlet,javax 来源: https://blog.csdn.net/LLittleF/article/details/104197930
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。