2013-12-20 2 views
0

Мне удалось успешно скомпилировать мой код, но я не могу его выполнить. Как это исправить? сканерТестирование - это мой пакет, а ScannerTesting.java - это мой основной файл.Почему я получаю NoClassDefFoundError в java?

D:\Java>javac Testing\src\scannerTesting\ScannerTesting.java

D:\Java>java Testing\src\scannerTesting\ScannerTesting Exception in thread "main" java.lang.NoClassDefFoundError: Testing\src\scannerTesting\ScannerTesting <wrong name: scannerTesting/ScannerTesting> . . .

+0

http://www.thejavageek.com/2013/07/21/using- javac-and-java-commands-to-compile-and-launch-java-programs/ –

ответ

3
java -cp ./Testing/src scannerTesting.ScannerTesting 

При запуске java, он ищет соответствующие классы в пути к классам. Итак, что делают эти аргументы, добавьте исходную папку в путь к классам с помощью -cp и укажите, что класс, который должен быть запущен, - scannerTesting.ScannerTesting.

Для получения дополнительной информации, ознакомьтесь с java cli tool documentation at Oracle

+0

Это сработало, когда я пошел в root. Можете ли вы объяснить логику этого? – Alan

+0

Да, я обновлю свой ответ –

+0

Я как бы новичок в выполнении файлов из командной строки, поэтому мне хотелось бы объяснить, как это работает. – Alan

0

scannerTesting Ваше имя пакета, не так ли?

Если да, то я предлагаю вам выполнить команду "Java" под рабочей области D: \ Java \ Testing \ ЦСИ

java scannerTesting.ScannerTest 
Смежные вопросы