Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么会发生这种异常?_Java_Exception_Intellij Idea - Fatal编程技术网

Java 为什么会发生这种异常?

Java 为什么会发生这种异常?,java,exception,intellij-idea,Java,Exception,Intellij Idea,见编辑2 你好,我不明白为什么会发生这种异常 exception javax.servlet.ServletException: Error instantiating servlet class controllers.Dashboard org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapt

见编辑2

你好,我不明白为什么会发生这种异常


exception

javax.servlet.ServletException: Error instantiating servlet class controllers.Dashboard
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Thread.java:662)
root cause

java.lang.RuntimeException: Uncompilable source code - missing method body, or declare abstract
    DAO.OrderDAO.(OrderDAO.java:68)
    BO.OrderForm.(OrderForm.java:33)
    controllers.Dashboard.(Dashboard.java:23)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    java.lang.Class.newInstance0(Class.java:355)
    java.lang.Class.newInstance(Class.java:308)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    java.lang.Thread.run(Thread.java:662)
起初我是在NetBeans 6.9.1中得到这个的,然后继续搜索并找到这个 在尝试解决方案后,我决定切换IDE,所以我下载了IntellijIDE9(到目前为止我很喜欢),但仍然得到了相同的异常!!我的意思是说,拜托,只有三个类不属于常见的lib,它们是
DAO
BO
控制器
包,它们是

现在我迷路了,因为代码存在,没有冒号输入或任何东西


编辑1: 删除了
DAO.OrderDAO.java
BO.OrderForm.java
controllers.OrderSearch.java
的源代码,因为可以断定问题是由以下类别之一引起的(哪个类别尚未确定)因此,我将IntelliJ调试器配置为每当抛出
异常时停止,并且抛出
ClassNotFoundException
以查找类
org.apache.catalina.startup.bootstrap
我不确定这是否与
路径
变量有关,因为我下载了apache-tomcat-6.0.30和验证了有麻烦的类,有什么建议吗


编辑2: 切换回NetBeans 6.9.1添加了大量库,运行时异常停止,但是我再次被上面的异常和堆栈跟踪所困扰,我重申方法体在那里!!。
指向的链接,密码是1234,它就在堆栈跟踪中

java.lang.RuntimeException: Uncompilable source code - missing method body, or declare abstract
您没有向我们展示所有的代码,因此我无法准确地指出它,但您似乎有一个扩展抽象类的类,并且您没有在超类中提供抽象方法的实现。因此,正如例外情况所述,您可以:

  • 实现缺少的方法
  • 使类抽象,并在子类中提供实现
  • 您可能需要选项1

    编辑——您必须深入到调用堆栈中。您可能正在使用某种外部API,扩展它们的一个抽象类。在这一行的某个地方

    at DAO.OrderDAO.(OrderDAO.java:68)
        at BO.OrderForm.(OrderForm.java:33)
        at controllers.OrderSearch.(OrderSearch.java:43)
    
    似乎
    ColorDTO
    没有实现
    Serializable

    和/或

    java.lang.RuntimeException:不可编译的源代码-缺少方法体或声明摘要
    在DAO.OrderDAO.(OrderDAO.java:68)
    在BO.OrderForm.(OrderForm.java:33)
    

    OrderDAO
    没有实现它应该实现的所有方法,也没有将其抽象化并在子类中提供它的实现,最后一切都应该是具体的。

    我看到了您的代码和您的异常。我将以尽可能连贯的方式对答案进行格式化,这样就可以发现(并嘲笑)任何事实错误

    1-代码是可编译的。所以问题显然是构建过程。可能是IDE正在维护过时的缓存

    你清理过旧的建筑位置了吗?使用maven而不是依赖IDE构建过程?(特别是Netbeans(让我在IDE中做100件事情)

    您是否也检查了打包的文件。(.jar)。文件大小和时间戳有意义吗

    2-您切换了IDE并得到了相同的异常。(赞成选择创意9)

    这很棘手。如何将应用程序部署到服务器?你是如何建造它的


    结论:假设构建是最新的,并且您正在部署最新的构建,您是否检查了服务器运行时中是否存在旧jar的虚假出现。可能在tmp中的某个地方有一个挥之不去的jar文件,或者使用不同的名称。我将尝试在另一台服务器上部署。或者重新启动服务器并清理服务器tmp位置。

    大家好,很抱歉没有发布,问题已经解决,我只是一直编码,直到有一次编译,它停止抛出异常,顺便提一下,我一直使用IntelliJ。我相信是缓存,但谁知道呢,也许我们现在永远不会……多亏大家的支持。

    @triztian,我们需要OrderDao类声明、实现的方法,以及任何类OrderDao extends的相同内容堆栈跟踪是否仍然相同?如果是,请放回类的源代码。如果没有,则显示新的堆栈跟踪。发布一些代码以便我们可以看到有问题的方法如何?Tritzian,您似乎在您引用的“奇怪的Netbeans bug”中找到了解决方案的正确路径()。关闭这个并用更新指出那个问题怎么样?您在自己的代码中做过任何类型的反射吗?我已经将
    ColorDTO
    AccessoryDTO
    序列化,并且我在tomcat中禁用了Persistance会话,问题是OrderDAO没有实现任何接口或抽象类,这是它自己的一个班级。
    java.io.NotSerializableException: DTO.ColorDTO
    
    java.lang.RuntimeException: Uncompilable source code - missing method body, or declare abstract
    at DAO.OrderDAO.<init>(OrderDAO.java:68)
    at BO.OrderForm.<init>(OrderForm.java:33)