2013-06-11 3 views
0

Я писал простые программы на Java, но, похоже, сталкиваются с проблемами, в которых задействован путь класса.Java, проблемы с базовым классом пути

Мои скомпилированные файлы класса существует в каталоге: /home/pi/code/java/eclipse/bin/

Когда в этом каталоге я могу запустить «Java Controller» и программа будет работать.

Экспериментируя с пути класса я попытался следующие: "java -cp /home/pi/code/java/ eclipse.bin.Controller"

Но я получаю следующее исключение:

"Exception in thread "main" java.lang.NoClassDefFoundError: eclipse/bin/Controller (wrong name: Controller) 
" 

Самая странная вещь, является то, что Java даже построил последний раздел "eclipse.bin.Controller", например Я мог бы использовать его, когда я набирал команду, поэтому я ожидал, что это сработает.

Моя конечная цель - указать путь класса в драйвере JDBC.

Куда я иду не так?

+1

Объяснения [здесь] (http://stackoverflow.com/questions/15131498/combining-jar-file-with-classpath-java) могут помочь вам, я думаю. – A4L

ответ

1
java -cp /home/pi/code/java/eclipse/bin Controller 

Было бы правильно, если у вас есть Controller класс в пакете по умолчанию.

Если вы попытаетесь сослаться на свой класс как eclipse.bin.Controller, то среда выполнения Java будет искать класс Controller в пакете eclipse.bin, а пакеты не являются каталогами.

+0

Я вижу, мне нужно узнать о пакетах, спасибо за вашу помощь. – Xerphiel

+1

Xerphiel, пакеты и путь к классам сложны, чтобы добраться до дна, и у вас будет некоторое разочарование, связанное с ними. Тем не менее, они необходимы для Java-программиста. Они являются своего рода компоновкой компоновщика для Java, если вы знаете C/C++, хотя это и не *, что * расстраивает, на мой взгляд. –

+0

Спасибо за информацию, я просмотрел некоторые уроки, но ничего не делает огромного смысла (хотя и поздно). Любые хорошие уроки будут очень благодарны! – Xerphiel

Смежные вопросы