• 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,坑爹啊。

  • 相关阅读:
    函数 定义与调用
    python文件基本操作(读,写,追加)
    python集合深浅copy
    day6 bytes类型用法
    字典的增删改查
    一个文件启动Django(基础中的基础)
    Django错误集
    Linux的Shell
    Linux的Vim文本编辑器
    Linux管道符和重定向与环境变量
  • 原文地址:https://www.cnblogs.com/demingblog/p/2802578.html
Copyright © 2020-2023  润新知