2011-08-04 5 views
0

Я пытаюсь скомпилировать программу из командной строкиКомпиляция Java из командной строки

Программа компилируется и работает нормально, в затмении, howvever когда я Гото командной строки и использовать JAVAC скомпилировать мой файл Java я получаю 23 ошибки, большинство из которых не могут найти символ, со стрелкой, указывающей на. в виде упаковки имя.

Есть ли у кого-нибудь идеи о том, что мне нужно делать по-другому?

Thanks

+3

похоже. это проблемы с classpath, IDE управляет им для вас, с терминала вам нужно это сделать –

+0

вы установили свой путь к классам? – amit

+0

@rik: Проверьте свой путь к классу. У вас есть все необходимые банки и пакеты в вашем классе? –

ответ

0

Советуем не устанавливать путь к классам как переменную среды, потому что это слишком навязчиво (все ваши Java-программы увидят это).

Командная строка для компиляции приложения Java, которые dependes на Log4j может выглядеть следующим образом:

javac -cp C:\dev\mvn\repo\log4j\log4j\1.2.16\log4j-1.2.16.jar AppenderTester.java 

Если у вас есть несколько записей пути к классам, нужно, чтобы отделить их точкой с запятой.

Для удобства использования вы можете создать сценарий запуска. Это может быть простой пакетный скрипт или более сложный скрипт ant (который требует установки муравья).

Это только верхушка айсберга, известная как «адский путь класса».

EDIT: вы также можете взглянуть на функцию Eclipse 'export runnable JAR', которая объединяет ваше приложение вместе со всеми его зависимостями в JAR-файле.

+0

Согласен, и на практике вы почти наверняка установили CLASSPATH в контексте сценария сборки. Конечно, конечной целью было бы использовать Maven и его большую систему управления зависимостями, чтобы облегчить «адский класс», о котором вы говорите. –

4

Ваш путь к классу не настроен правильно. Посмотрите проект Eclipse в файле .classpath. Там вы найдете много элементов classpathentry. Вам нужно будет реплицировать это для компиляции в командной строке.

Чтобы сделать это вручную, вы должны сначала установить переменную среды CLASSPATH в список каталогов (или файлов jar), содержащих определения классов.

Вы также можете использовать инструмент сборки, называемый ant, чтобы автоматизировать это для вас.

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