Я новичок в Java, но не в ООП у меня есть некоторый опыт в C и C++ и PHP5 Для краткости я есть «привет мир» программа для тестированияJava Выдает исключение в потоке главного java.lang.NoClassDefFoundError
package com.tutorial.helloworld;
public class helloWorld {
public static void main(String[] args) {
System.out.print("hello world!!!\n");
}
}
когда я компилирую в консоли с JAVAC компиляции без ошибок, но при запуске Java HelloWorld говорит
Exception in thread "main" java.lang.NoClassDefFoundError: helloWorld (wrong name:
com/tutorial/helloworld/helloWorld) and much more code
в затмение перспективе нормально. Если я удалю оператор пакета и скомпилировать вручную, он будет работать нормально. но если я сохраняю оператор пакета, выдает эту ошибку. Должен ли я помещать файл класса в подкаталог com/tutorial/helloworld и это нормально, как мне работать с терминала и из какого каталога?
Я нахожусь на mac os x, и я использую, чтобы набирать код в редакции, компилировать и запускать с консоли , чем работать на льду. Я не могу заставить eclipse работать на C++ (C++ ide), и из-за этого я стараюсь держаться на консоли со всеми языками, которые я знаю или изучаю.
Можете ли вы показать точную команду, используемую для ее запуска? Вероятно, у вас есть что-то с вашим классом (или не было указано имя пакета helloWorld). –
Вы находитесь в '/bin', когда вы запускаете java? –
Pietu1998
Кроме того, в Java принято считать, что имена классов капитализируются (поэтому HelloWorld, а не helloWorld). –