Другие языки программирования и технологии

Java IDE: как eclipse(или другое IDE) находит классы проекта?

Если я правильно понял, то классы подгружаются из папок, указаных в classpath "переменных сред" пк. Путь к папке проектов eclipse в classpath у меня не указан, но классы проекта же подгружаются. Обычно если установлен только JDK, то надо чтобы файл класса был в одной папке с java-файлом, но в проектах eclipse они в разных папках. Объясните в чем дело.
VO
Vladimir Osipov
2 309
в эклипсе нет компилятора
эклипс использует для компиляции компилятор (JDK) установленный в системе и путь к которому прописан в системных переменных

по этой самой причине рекомендуется для начала установить JDK, прописать его в системных переменных и только потом делать первый запуск эклипса.
если не накосячил с настройками джавы, то эклипс и не хрюкнет по этому поводу.
а если чё-та не так, то и скажет что не нашёл он установленного в системе JDK, или на худой конец JRE/

эклипс не хранит исходный код и скопилированный класс в одной папке
есть для исходников папка в проекте и есть для скомпилированных классов (это там где папка target)

"Обычно если установлен только JDK, то надо чтобы файл класса был в одной папке с java-файлом" -- совершенно не понять о чём вы говорите.

если вы компилируете свой джава код из коммандной строки, то у вас имеются разные опции
- не обязательно находиться в папке с исходником чтобы запустить его компиляцию; достаточно правильно указать в комманде путь к папке с исходником
- не обязательно находиться в папке куда хотели бы поместить результат компилляции; это тоже может быть указано в комманде
- и уж совсем не обязательно находиться в папке с установленным компилятором чтобы этот компилятор запускать.

эклипсу лишь требуется знать где установлен компиллятор
а о том где исходники и куда класть скомпилированное эклипс знает исходя из файловой структуры проекта

и ещё о "разных папках"
это только простенькая однофайловая джавовская программа может лежать в какой-то одной папке (хоть на рабочем столе без папки)
а серьёзные проесты имеют код сгруппированный в пакеты, имена которых по сути и есть те самые "разные папки"
Школа 2 Нарткала
Школа 2 Нарткала
95 170
Лучший ответ
Видимо в свойствах проекта где-то прописано где находятся классы проекта.