Запустить 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.