|
|
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Имеется следующая структура кода: packageA/class1.java pakageB/class2.java pakageС/class3.java class1 содержит функцию main. Запускаем. Работает до определенного момента. До вызова aa = new class2(). Тут мы имеем java.lang.NoClassDefFoundError: packageB/class2. Хотя до этого строчка cc = new class3() отрабатывает. Win2000, j2SE SDK 1.4.0, j2SE RE 1.4.0. С чем это связано и как это исправить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 14:58 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
-- в class1.java есть это? import pakageB.*; -- класс class2.java скомпилирован? -- сам пакет в обалсти видимости CLASSPATH? -- FUCK THE iNET!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:01 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
А.Грасоff™-- в class1.java есть это? import pakageB.*; Да А.Грасоff™-- класс class2.java скомпилирован? Да А.Грасоff™-- сам пакет в обалсти видимости CLASSPATH? Эти пакеты лежат в одном подкаталоге (в JAR-е). В CLASSPATH ничего не добавлял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:12 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
покажи как описан class2 -- FUCK THE iNET!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:14 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
package packageB; public class class2 { ... public class2() { .... } } И что самое интересное. В packageB есть еще один класс (class4). Из class1 выполняется вв = new class4() "на ура!"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:22 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
если есть возможность - можешь выслать исходники. чота тут не так :) чота ты не то делаешь. -- FUCK THE iNET!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:28 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Исходники по определенным причинам выслать не могу. Вот весь класс class2. Только названия поменял. package packageB.SubPackage2; import packageB.SubPackage1.Connector; public class class2 { public class2(Connector sql) { } } Вот часть класса class1. package packageA; import packageB.SubPackage1.Connector; import packageB.SubPackage2.*; public class class1 extends javax.swing.JDialog { /*Тут всякие переменные и процедуры/функции */ private void getViews() { Connector sql; nps_view = new NPS_view(sql); /* <------------ Тут вот и валится */ } } И еще один прикол. На другой тачке (с тем же SDK) выдает exception на другом классе (еще раньше/выше). Та же самая фигня, только с другим классом, до этого даже не доходит... Т.е. один и тот же код (JAR) выполняется (глючит) на разных тачках по-разному (JVM и SDK те же)... Компилятор ругается на deprecated методы. Может как-то связано с этим? Или это глюки виртуальной машины? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:51 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
aquasnake nps_view = new NPS_view(sql); /* <------------ Тут вот и валится */ Эта строчка читается как "aa = new class2(sql);" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 15:54 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
java.lang.NoClassDefFoundError means that your classpath is not set correctly. Make sure your JAVA_HOME is set up right. Thrown if the Java Virtual Machine or a ClassLoader instance tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found. The searched-for class definition existed when the currently executing class was compiled, but the definition can no longer be found. чего тут еще добавить? -- FUCK THE iNET!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 16:04 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
А как компилишь? в консоле / из IDE (какой?) Пробовал ли удалять классы перед компиляцией? Все ли jar'ы апдейтятся после компиляции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 16:07 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Создавал, редактировал и компилировал в NetBeans IDE 3.6. Делал Clean All (удаляет все классы), затем Build All. Запускал из-под IDE - то же самое. Выбрасывал все содержимое JAR-а (все классы в одном JAR-е) и набивал снова. В общем, капот открывал и по колесу стучал, т.е. заглядывал в JAR - все есть, все на своих местах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 16:20 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
главное не что бы было, а что бы было что надо :) просто бывали случаи, когда удаление *.сlass ручками помогало, т.к. иногда IDE глючат с кешированием и не изменяют или не удаляют *.class. А сделать тривиальный пример без наворотов, что бы воспроизвести баг, не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 16:26 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Полный П Ставлю строчку в класс class0 "a = new class2();" - хавает, создает экземпляр. Ставлю эту же строчку в другом классе class1 (он создается в class0) - exception. class0 и class1 лежат в одном пакете, импорты одни и те же прописаны. Разница только в том, что class1 создается в class0. Что можно было испортить в процессе выполнения процедур/функций класса class0, что JVM не находит класс class2? Кстати. Аналогичный вопрос. Есть главное окно с меню. Один пункт меню открывает одну форму. Другой - другую. Щелкаем по первому - открывает окно. Выполняем определенные действия. Закрываем. Щелкаем по второму - открывает второе окно. Опять что-то делаем. Закрываем. Опять щелкаем по первому - и БАНАН! (java.lang.NoClassDefFoundError). Я считал, что в Яве нельзя ничего нахимичить с памятью. Но судя по всему, что-то все-таки можно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 16:58 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Только что удалил все *.class и перекомпилировал все. Перестало находить те классы, которые раньше находило. Те, которые не находило, так и не находит. Я так понимаю, что я что-то где-то порчу в процессе выполнения. Что это может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 17:53 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Это может быть кривая настройка IDE. Большего сказать не возьмусь :) Действие из разряда протереть лобовое стекло - пересоздать проект - может помочь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2004, 18:16 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Лобовое сткло протер, под капот заглянул, еще раз постучал по колесу... Из-под IDE уже другой класс не видит (а ведь раньше видело)... Но вот при выполнении JAR-а пока все видит, хотя появился новый прикол. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 15:55 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Нажимаю "пропустить". Появляется еще одно с другой ошибкой и т.д. После нескольких "пропустить" продолжает выполняться JAR-чик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 15:57 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
у тебя с виндой проблемы или с железом или с вирусами, что собвственно, всё одно и тоже. Я на твоём месте поступил бы просто. - Написал бы ant-скриптик для компиляции проекта. - вышел бы из IDE. - переустановил java, что б наверняка (если 5.0, то поставил бы ласт релиз). - удалил все существующие классы. - запустил скриптик. - запустил бы приложение. Если всё ок - значит IDE гавно или инсталяция java была испорчена билом гейтсом. Если не ок - повторил бы тоже самое на соседней машине. Если там тоже самое гавно - стал бы резать приложение пока не осталось бы минимального набора классов, при котором ошибка ещё возникает. Запостил бы баг репорт на java sun com %) (предварительно сверевшись, что никто не успел этого сделать раньше) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 16:28 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
Все дело в том, что этот глюк проявляется на 4 разных машинах (разной конфигурации, один из них вообще ноут). На трех Win2000, на одной - WinXP. Одно и то же IDE и RunTime Environment (стянутое с sun). Компилятор внешний (sun-овский). Так что я склоняюсь к мысли, что именно с sun-ом что-то не так... Попробуем переставить... А резать проект не получится. Глюк не стабильный. Сначала не видит один класс. После добавления пары строк кода не видит другой, хотя до этого видело... И где, собственно, всеми хваленая стабильность и безопасность Java? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2004, 17:23 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
И где, собственно, всеми хваленая стабильность и безопасность Java? У меня она месте. И у всех с кем я знаком тоже :) Назови версию jdk, версию IDE. Может люди с аналогичной комплектацией откликнутся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 10:09 |
|
||
|
java.lang.NoClassDefFoundError
|
|||
|---|---|---|---|
|
#18+
JDK 1.4.0. NetBeans IDE 3.6. Компилятор внешний (sun-овский) В проекте используются библиотеки: - FirebirdSQL-1.5.5JDK_1.4 - mysql-connector-java-2.0.14 - jakarta-log4j-1.2.8 - interclient_201_Win32 (не используется, просто валяется в проекте) Все классы/пакеты собраны в один JAR. Стартуем. Пункт меню А1 -> открылся диалог1. Закрываем. Пункт меня А2 -> открылся диалог2. Закрыли. Закрываем приложение. Стартуем снова. Пункт меню А2 -> открылся диалог2. Пункт меню А1 -> java.lang.NoClassDefFoundError. Ну куда делись классы из JAR-а?! Парадокс. Закрываем приложение, стартуем снова. Пункт меню А1 -> опять порядок, все классы есть. Шайтан, однако... Блин! Ну должно же быть какое-то логичное объяснение, почему классы то пропадают, то появляются! Если Java такая стабильная и надежная, значит я не могу в проекте нахимичить так, что это выбивает VM из колеи настолько, что она не может вспомнить, где у нее классы, которые она пять минут назад видела... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2004, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=32838630&tid=2153210]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 348ms |

| 0 / 0 |
