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

Снова java.lang.NoClassDefFoundError

08.10.2013, 13:20. Показов 13506. Ответов 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
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru