Проблемы с CLASSPATH в Java - PullRequest
0 голосов
/ 06 мая 2020

У меня проблема с настройкой среды Java dev. Раньше я устанавливал Java, затем свою IDE и перешел к кодированию. Сейчас я начинаю настраивать свой ноутбук на использование компиляции из командной строки и Блокнота в качестве редактора кода. Я получаю сообщение об ошибке, которое пытался исправить, но, поскольку я делаю это таким образом впервые, я немного потерялся.

Я запускаю javac, и он создает мой файл .class без проблем, но затем я пытаюсь запустить файл класса с java A, и он выдает ошибку:

c: \ workspace> java Ошибка: не удалось найти или загрузить основной class A Вызвано: java .lang.ClassNotFoundException: A

My CLASSPATH установлен на C: \ Program Files \ Java \ jdk-14.0.1 \ lib

Мой код это:

class A
{
public static void main(String args[]){
    System.out.println("Hello World!");
}
}

Заранее благодарим за любую помощь.

1 Ответ

2 голосов
/ 06 мая 2020

Использование глобальной переменной окружения CLASSPATH - очень плохая идея. Вы знаете, что можно написать более одной программы java на одной машине:)

Чтобы скомпилировать код, javac A.java выполнит работу. Чтобы запустить его, если у класса A нет инструкции пакета, каталог, содержащий файл класса, должен находиться в пути к классам. По умолчанию путь к классам сконфигурирован как «.», Как в текущем каталоге. Если вы что-то испортили, значит, вы это сломали. Вы не должны связываться с этой переменной среды.

Исправление состоит в том, чтобы указывать путь к классам вручную каждый раз, когда вы вызываете java, или используйте системы сборки, которые позаботятся об этом за вас:

java -cp . A

будет работать нормально, пока вы находитесь в каталоге, содержащем A.class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...