Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/65: Рейтинг темы: голосов - 65, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9

Снова java.lang.NoClassDefFoundError

08.10.2013, 13:20. Показов 13589. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я конечно понимаю,что для большинства вопрос будет простейший. И то что аналогичные вопросы задаются раз в неделю,но я новичок и помощи
Предисловие. При написание простой программы для вычисления факториала, после компиляции при запуске вылетает не без известная ошибка. Прочитал на --" Что это означает? А означает это вот что. Виртуальная машина нашла класс, который я пытаюсь запустить – Test. Нашла она его исключительно потому, что я сказал – искать в этой директории класс по имени Test. Прошу обратить внимание – по ПОЛНОМУ имени Test. Машина нашла его. Но класс-то на самом деле – test.Test. Именно об этом она и сообщает – wrong name: test/Test"
Внимание.И так вопрос от новичка, как это исправить?
Как делаю:
1)NetBeansProjects\Fact\src\fact>javac
2)NetBeansProjects\Fact\src\fact>java -classpath . Fact
и получаю..
Exception in thread "main" java.lang.NoClassDefFoundError: fact (wrong name: Fact/Fact)
at java.lang.ClassLoader.defineClass1(Nativ e Method)
at java.lang.ClassLoader.defineClass(ClassL oader.java:792)
at java.security.SecureClassLoader.defineCl ass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLC lassLoader.java:449)
at java.net.URLClassLoader.access$100(URLCl assLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLo ader.java:361)
at java.net.URLClassLoader$1.run(URLClassLo ader.java:355)
at java.security.AccessController.doPrivile ged(Native Method)
at java.net.URLClassLoader.findClass(URLCla ssLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoa der.java:424)
at sun.misc.Launcher$AppClassLoader.loadCla ss(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoa der.java:357)
at sun.launcher.LauncherHelper.checkAndLoad Main(LauncherHelper.java:482)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2013, 13:20
Ответы с готовыми решениями:

java.lang.NoClassDefFoundError
Ситуация такая написал простейший парсер. Пользовался этой инструкцией. http://www.ibm.com/developerworks/ru/edu/xmljava/index.html ...

Java.lang.NoClassDefFoundError
Здравствуйте, дорогие форумчане! Пишу от безнадежности. Сразу приступлю к волнующему меня вопросу. Я пишу программу автозаполнения Web...

Проблема с запуском jar: Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/mq/MQException
Народ помогите плз. Второй день бьюсь, но наверняка все просто. Написал небольшую тестовую программу. При работе использую com.ibm.mq.jar и...

23
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
08.10.2013, 14:23
может
NetBeansProjects\Fact\src\fact>javac Fact.java
NetBeansProjects\Fact\src\fact>java Fact
не?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
08.10.2013, 15:19
Цитата Сообщение от tankomaz Посмотреть сообщение
не?
Не. Учитывая ошибку (wrong name: Fact/Fact) -

Bash
1
java -classpath . Fact.Fact
2
08.10.2013, 16:03

Не по теме:

Цитата Сообщение от Skipy Посмотреть сообщение
Не. Учитывая ошибку (wrong name: Fact/Fact) -

Bash
1
java -classpath . Fact.Fact
виноват

0
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
08.10.2013, 17:22  [ТС]
Спасибо,уважаемые за терпение ,но теперь класс найти не может(Error: Could not find or load main class Fact.Fact).
Попробовал java -cp....тоже самое
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
09.10.2013, 10:33
Цитата Сообщение от New_progr Посмотреть сообщение
Спасибо,уважаемые за терпение ,но теперь класс найти не может(Error: Could not find or load main class Fact.Fact).
Ошибка в строке 42 кода, который Вы привели
0
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
09.10.2013, 12:42  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Сообщение от New_progr
Спасибо,уважаемые за терпение ,но теперь класс найти не может(Error: Could not find or load main class Fact.Fact).
Ошибка в строке 42 кода, который Вы привели
Не пойму как в 42строке кода? У меня всего 11строк кода.
Java
1
2
3
4
5
6
7
8
9
10
11
package Fact;
public class Fact {
public static void main(String[] args) {
    int a = 5;
    int rez = 1;
    for (int i = 1; i <= a; i++){
        rez = rez + i;
    }
    System.out.print(rez);
}
}
0
 Аватар для Vortal
104 / 104 / 27
Регистрация: 11.08.2011
Сообщений: 301
09.10.2013, 16:23
Проверьте еще раз чтоб класспуть указывал в корень вашего проекта, или если сильно хочется запустить с консоли, пропишите полный путь или скопируйте в корень с компилятором(bin)
1
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
10.10.2013, 07:33  [ТС]
Цитата Сообщение от Vortal Посмотреть сообщение
Проверьте еще раз чтоб класспуть указывал в корень вашего проекта, или если сильно хочется запустить с консоли, пропишите полный путь или скопируйте в корень с компилятором(bin)
Спасибо,проверил. Но все так же..
Запустить с консоли нет особого желания. Пробовал нетбинсе эффект тот же.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
java.lang.NoClassDefFoundError: fact/Fact (wrong name: Fact/Fact)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Exception in thread "main" Java Result: 1
ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 20 секунд)
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
10.10.2013, 10:54
Цитата Сообщение от New_progr Посмотреть сообщение
java.lang.NoClassDefFoundError: fact/Fact (wrong name: Fact/Fact)
Java чувствителен к регистру. fact.fact - совсем не то, что Fact.Fact
1
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
10.10.2013, 11:34  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Сообщение от New_progr
java.lang.NoClassDefFoundError: fact/Fact (wrong name: Fact/Fact)
Java чувствителен к регистру. fact.fact - совсем не то, что Fact.Fact
Я учитываю это при написании команд.Или не в ту сторону мои мысли?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
10.10.2013, 12:26
Цитата Сообщение от New_progr Посмотреть сообщение
Я учитываю это при написании команд.Или не в ту сторону мои мысли?
Если возникла такая ошибка, то это означает, что реально класс называется Fact.Fact, а в команде запуска написано fact.fact! И каким образом Вы тут учли чувствительность к регистру?
0
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
10.10.2013, 13:09  [ТС]
Благодарю за терпение.Но все же мне необходимо докопаться до сути. Возможно я как новичок, не ясно изложил ситуацию. Напишу свои действия подробно,возможно ткнете на мою ошибку.

При компиляции/запуске из командной строки:
0. C:\Users\1>cd Documents\NetBeansProjects\Fact\src\fact
1. >javac Fact.java
2. >java -classpath . Fact.Fact
после этого ошибка
Error: Could not find or load main class Fact.Fact
Если пишу вместо Fact.Fact просто Fact то...:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C:\Users\1\Documents\NetBeansProjects\Fact\src\fact>java -classpath . Fact
Exception in thread "main" java.lang.NoClassDefFoundError: Fact (wrong name: Fact/Fact)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
При работе в NetBeans:
Имея уже написанный код нажимаю кнопку запуск(зеленый треугольник)
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
run:
java.lang.NoClassDefFoundError: fact/Fact (wrong name: Fact/Fact)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Exception in thread "main" Java Result: 1
ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 0 секунд)
P.S.
(предыдущие мелкие проекты в нетбинсе я так и запускал не указывая дополнительно ни как на класс,при этом все функционировало)
спустя 2-3секунды:

Чем больше я пытаюсь решить эту проблему тем мне интересней ее побороть наконец. В связи с этим прошу не нервничать и стебаться,а помочь указав на ошибку в моих действиях.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
10.10.2013, 13:16
Ошибка первая. Вы до сих пор не привели код, который Вы запускаете, в виде прикрепленного к сообщению файла. Только так можно понять, что причина в коде/не в коде.
0
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
10.10.2013, 13:28  [ТС]
Ок.
Вложения
Тип файла: rar Fact.rar (231 байт, 9 просмотров)
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
10.10.2013, 14:11
1. Скопировал Ваш класс в c:\tmp\1
2. создал в c:\tmp\1 директорию classes, чтобы отделять исходники от скомпилированных файлов
3.
Bash
1
2
3
4
5
6
7
8
9
10
c:\tmp\1>java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
 
c:\tmp\1>c:\Java\jdk1.7.0_25\bin\javac.exe -cp ./classes -d ./classes Fact.java
 
c:\tmp\1>java -cp ./classes Fact.Fact
16
c:\tmp\1>
Можно без директории classes:

Bash
1
2
3
4
5
c:\tmp\1>c:\Java\jdk1.7.0_25\bin\javac.exe -cp . -d . Fact.java
 
c:\tmp\1>java -cp . Fact.Fact
16
c:\tmp\1>
1
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
10.10.2013, 14:50  [ТС]
tmp -что за папка?это папка где временно находится запущенная программа?или нет?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
10.10.2013, 15:59
Цитата Сообщение от New_progr Посмотреть сообщение
tmp -что за папка?это папка где временно находится запущенная программа?или нет?
Господи, да какая разница? Нужно же мне было куда-то файл положить после скачивания с форума! Я его положил туда, написал же - "скопировал Ваш класс в c:\tmp\1". С тем же успехом можно положить в C:\MyHomeFolder\MyProjects\MyJavaProject s\FirstApplication. Это СОВЕРШЕННО не принцииально. Главное, чтобы русских букв не было в пути, JVM их до сих пор сильно не любит.
1
0 / 0 / 0
Регистрация: 08.10.2013
Сообщений: 9
10.10.2013, 20:10  [ТС]
Победа!)Огромное спасибо за терпение.

Добавлено через 2 часа 46 минут
Skipy,
Все отлично запустилось и работает.Еще раз спасибо за помощь. Но назрел вопрос.Запустил через командную строку. А netbeanse та же ошибка. в чем может быть дело?
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
11.10.2013, 10:28
Значит, где-то в конфигурации NB по-прежнему неправильно прописано имя.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2013, 10:28
Помогаю со студенческими работами здесь

Ошибка Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/applicat ion/SingleFrameApplication
При запуске выскакивает ошыбка, как ее исправить? C:\Documents and Settings\maks&gt;java -jar &quot;C:\Documents and Settings\maks\Мои док ...

Java.lang.ExceptionInInitializerError
Здравствуйте, помогите разобраться почему выскакивает исключение java.lang.ExceptionInInitializerError метод: private static...

Java.lang.IllegalStateException
Добрый вечер При компиляции возникает ошибка java.lang.IllegalStateException public class Solution { public static void...

Java.lang.NullPointerException
кусок кода if(!cls.equals(&quot;&quot;)){ String ss = subd.getAllTems(cls); if(ss != null){ ...

java.lang.NullPointerException
Заранее прошу прощение если создал тему не в том разделе или продублировал. Часть кода. import java.util.*; import java.io.*; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru