java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;


問題描述:在eclipse3.7中啟動tomcat6時一直出現這個錯誤,

     java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;

              網上搜了好久,眾說紛紜,最終才找到解決辦法,參照此方法我的問題解決了。

     

解決方案:找到jdk安裝目錄進入jre\lib\ext,看是否有servlet-api.jar(我的沒有),如果沒有將tomcat中的servlet-api.jar復制到jre\lib\ext

              重啟tomcat錯誤就沒有出現。

              如果你的jre\lib\ext下有這個架包,還是有錯,可以嘗試用tomcat中的servlet-api.jar替換jre\lib\ext下的servlet-api.jar,重啟tomcat

 

 

 

2020年2月14日更新:

啟動 dubbo項目的時候報錯:

 

Exception in thread "NettyClientWorkerThread_4" java.lang.NoClassDefFoundError: com/aliyun/openservices/shade/io/netty/util/concurrent/DefaultPromise$1
at com.aliyun.openservices.shade.io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:435)
at com.aliyun.openservices.shade.io.netty.util.concurrent.DefaultPromise.setSuccess(DefaultPromise.java:102)
at com.aliyun.openservices.shade.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:179)
at java.lang.Thread.run(Thread.java:745)

 

一看是java.lang.NoClassDefFoundError,自然而然以為是類加載過程中找不到這個類的問題。

繼而從jar包查起,后來發現是在 ons-client-1.8.0.Final.jar中。

 

com/aliyun/openservices/ons-client/1.8.0.Final

ons-client-1.8.0.Final.jar

 

實際項目 執行mvn package 之后,有這個jar,為啥還會出錯呢。繼續翻日志,發現最上面出現了依賴加載出問題了。

原來是 dubbo:reference 配置的有問題, group="@dubbo.someservice.group@" 

這里的dubbo reference 的group中占位符對應的配置忘記加載properties配置文件中了。

 

明明是依賴的問題,卻報錯java.lang.NoClassDefFoundError,坑爹啊。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM