Почему происходит это исключение? - PullRequest
5 голосов
/ 14 января 2011

См. РЕДАКТИРОВАТЬ 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, поэтому я скачал Intellij IDE 9 (пока что любил его) и до сих порполучил то же исключение !!Я имею в виду, давай .., только три класса, которые не принадлежат общим библиотекам, это пакеты DAO, BO и controllers, а они

Теперь я потерялся, поскольку код существуети там нет опечатки толстой кишки или что-нибудь.

EDIT 1:

удалил исходный код DAO.OrderDAO.java, BO.OrderForm.java и controllers.OrderSearch.java, так как было решено, что проблема была вызвана одним из нижеуказанных классов (который еще не решен).Я настроил отладчик IntelliJ так, чтобы он останавливался всякий раз, когда выбрасывается Exception, и у меня выдается ClassNotFoundException при поиске класса org.apache.catalina.startup.bootstrap Я не уверен, имеет ли это отношение к PATH переменным, потому что яЯ скачал apache-tomcat-6.0.30, и я проверил наличие проблемного класса. Есть предложения?

Редактировать 2:

Переключившись обратно на NetBeans, 6.9.1 добавил кучу библиотек, исключение во время выполнения прекратилось, однако я снова застрял с вышеупомянутым исключением и трассировкой стека, и я повторяю, что тело методатам!!.Ссылка на полный след , пароль 1234

Ответы [ 4 ]

5 голосов
/ 14 января 2011

прямо в трассировке стека

java.lang.RuntimeException: Uncompilable source code - missing method body, or declare abstract

Вы не показали нам весь код, поэтому я не могу точно определить его, но, похоже, у вас есть класс, расширяющий класс Abstract, и вы не предоставляете реализацию абстрактного метода в супер учебный класс. Итак, как говорит исключение, вы можете:

  1. Реализация отсутствующего метода
  2. Сделайте класс абстрактным и предоставьте реализацию в подклассе.

вы, вероятно, хотите вариант 1.

РЕДАКТИРОВАТЬ - вам придется копать в стек вызовов. Вероятно, вы используете какой-то внешний API, расширяющий один из своих классов, который является абстрактным. Где-то в этих строках

at DAO.OrderDAO.(OrderDAO.java:68)
    at BO.OrderForm.(OrderForm.java:33)
    at controllers.OrderSearch.(OrderSearch.java:43)
1 голос
/ 23 января 2011

Я видел ваш код и ваше исключение.Я собираюсь отформатировать ответ как можно более последовательно, поэтому любые фактические ошибки могут быть обнаружены (и осмеяны;))

1 - Код компилируется.Таким образом, проблема, очевидно, заключается в процессе сборки.Может быть, IDE поддерживает устаревший кеш.

Вы очистили старое место постройки?Использовать maven, а не в зависимости от процесса сборки IDE?(особенно NetBeans (позвольте мне сделать 100 вещей плохо IDE))

Вы также проверили упакованный файл.(.Jar).Имеет ли смысл размер файла и временную метку.

2 - Вы переключили IDE и получили то же исключение.(палец вверх для выбора IDEA 9)

Это сложно.Как вы развертываете приложение на сервер?Как вы его строите.

Заключение: Предполагая, что сборка самая последняя, ​​и вы развертываете последнюю сборку, проверяли ли вы наличие ложного появления старого jar во время выполнения сервера.Может быть, где-то в tmp или в другом месте есть файл с флягой.Я попытаюсь выполнить развертывание на другом сервере. Или перезапустите сервер и очистите расположение сервера tmp.

0 голосов
/ 29 января 2011

Привет всем, извините, что не писал, проблема была решена, я просто продолжал кодировать, пока один раз не скомпилировал и не перестал выдавать исключение, я продолжал использовать IntelliJ, кстати. Я думаю, что это был кэш, но кто знает, может бытьмы никогда не будем сейчас .... Спасибо всем за поддержку.

0 голосов
/ 22 января 2011
java.io.NotSerializableException: DTO.ColorDTO

Кажется, ColorDTO не реализует Serializable

И / ИЛИ

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)

OrderDAO не реализует всеметоды, которые он должен реализовать или сделать абстрактными и, наконец, обеспечить его реализацию в подклассе, должен быть конкретным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...