0

Зараннее благодарю за помощь. Готовлюсь к сертификации по java, хочу настроить компиляцию java кода в командной строку. Переменная среды %JAVA_HOME% настроена введите сюда описание изображения

Path добавлена

введите сюда описание изображения

Java установлена

введите сюда описание изображения

Байткод класса создается введите сюда описание изображения

введите сюда описание изображения

Но почему-то не компилируется. Уже чего-то только не делала

введите сюда описание изображения

В классе ошибок нет, в idea он компилируется

введите сюда описание изображения

Подскажите, пожалуйста, что я сделала не так? Может, кто-то заметил ошибку.

С именем пакета не проходит

введите сюда описание изображения

  • У вас все правильно настроено и правильно компилируется, просто вы неправильно вызываете программу. Это особенности того, как java ищет пути до классов. Если бы не было package, то все либо отработало нормально, либо отработало через > java -cp . Test. Можете удалить package и проверить. А вот как правильно указывать пути CLASSPATH до ресурсов в случае наличия package пути я честно сходу не скажу. – Alex Krass Apr 17 '20 at 09:12
  • Посмотрите тут, может что-то полезное будет: https://www3.ntu.edu.sg/home/ehchua/programming/java/J9c_PackageClasspath.html – Alex Krass Apr 17 '20 at 09:16
  • Спасибо. Но и без пакета и с командой >java -cp .Test тоже не работает. Думаю проблемы с Windows 10, в нём всё не так работает. – user359211 Apr 17 '20 at 09:38
  • я думаю, это всё-таки что-то windows 10 – user359211 Apr 17 '20 at 11:35

1 Answers1

0

Нужно запускать с полным именем класса, включая package:

C:\Oca>java host.igor.Test

Находиться нужно в папке Oca, чтобы иерархия package соответствовала иерархии папок.

Если не указан package, должно запускаться из той же папки, где class файл. Попробуйте выполнить в командной строке в какой-нибудь пустой папке:

echo public class Main {public static void main(String[] args) {System.out.println(args[0]);}} > Main.java
javac Main.java
java Main hello