Запустить Java-программу петь Cmd

Я пытаюсь запустить программу на Java, используя cmd,

Когда я компилирую этот файл, используя

javac helloworld.java

Это прекрасно работает, но когда я пытаюсь запустить этот файл, используя

java helloworld

Я получаю ошибку:

Не удалось найти или загрузить основной класс.

хотя мой я положил javac путь в пути к классу в системных переменных и javac работает правильно.

После поиска того, как я могу это исправить, я обнаружил, что могу использовать

java -cp . helloworld

потому что это позволит вам найти .class файл.

и это работает, но я знаю, что я могу запустить программу Java без этого -cp так зачем это и как я могу запустить свою программу без нее?

3 ответа

Решение

-cp указывает путь к классам Java для JRE, который вы пытаетесь запустить. Ищите переменную среды CLASSPATH и добавить '.',

-cp используется для установки classpath для jar файл, этот флаг такой же, как importing фляга к eclipse а затем использовать его. Если вы хотите работать без этого флага, сначала используйте usepath classpath перед запуском.

export CLASSPATH=path/to/your/jarfile.jar

Если у вас уже есть набор классов

export CLASSPATH=$CLASSPATH:path/to/your/jarfile.jar

Если вы хотите включить текущий каталог

export CLASSPATH=$CLASSPATH:path/to/your/jarfile.jar:.

Как уже упоминалось, вы можете установить CLASSPATH. Тем не менее, гораздо лучший подход заключается в объединении файлов.class в JAR и пользователя java -jar nameofthejar.jar.

Другие вопросы по тегам