Я не понимаю как java vscode компилирует код
К примеру существует базовый hello.java
package main;
public class Hello {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
При запуске программы через "Run Java" в терминале появляется команда:
c:; cd 'c:\Users\User\VStudioPorjects\gifPlayer'; & 'C:\Program Files\Java\jdk-23\bin\java.exe' '@C:\Users\User\AppData\Local\Temp\cp_f33lbunljpn3p0z2sckzifkts.argfile' 'main.Hello'
Где cd 'c:\Users\User\VStudioPorjects\gifPlayer'
- это указание пути проекта
&
- запуск в фоновом режиме
'C:\Program Files\Java\jdk-23\bin\java.exe'
- путь к файлу запускающему уже скомпилированный класс
'@C:\Users\User\AppData\Local\Temp\cp_f33lbunljpn3p0z2sckzifkts.argfile'
- подгон всех существющих библиотек
'main.Hello'
- класс с директорией
Как происходит компиляция? Где javac
? Почему при первом запуске класса создается файл Hello.class
, но при его удалении и повторном запуске файл не создается повторно, а выходит ошибка java.lang.ClassNotFoundException: main.Hello
?
ps: java.autobuild у меня отключен