W3docs

Настройка среды разработки Java

Настройка машины для разработки на Java: выбор IDE (IntelliJ IDEA, Eclipse, VS Code), установка PATH и JAVA_HOME, организация структуры проекта.

Одного JDK достаточно, чтобы компилировать и запускать Java из терминала, но для любого проекта крупнее пары файлов вам понадобится интегрированная среда разработки (IDE). IDE предоставляет автодополнение, рефакторинг, встроенный отладчик и модель проекта, которая понимает структуру пакетов Java.

В этой главе сравниваются основные IDE, описывается рекомендуемая настройка и показана типичная организация Java-проекта на диске.

Выбор IDE

Три самые популярные Java IDE — все бесплатны для индивидуального использования:

  • IntelliJ IDEA Community Edition — Java IDE от JetBrains. Бесплатной Community Edition более чем достаточно для большинства учебных задач и многих продакшн-проектов; платная Ultimate Edition добавляет поддержку фреймворков Spring и Jakarta EE. Рекомендуется для этой книги.
  • Eclipse IDE — давно существующая IDE с открытым исходным кодом, популярная в крупных корпорациях.
  • VS Code с расширением Extension Pack for Java — легче, чем IntelliJ или Eclipse, хороший вариант, если вы уже используете VS Code для других языков.

Можно также работать в обычном текстовом редакторе (Vim, Sublime, Notepad) и использовать команды javac и java напрямую — в ранних главах книги показаны оба стиля.

IntelliJ IDEA: рекомендуемая настройка

Если у вас нет сильных предпочтений, установите IntelliJ IDEA Community Edition.

  1. Загрузите с jetbrains.com/idea и запустите установщик.
  2. Запустите IntelliJ и откройте диалог New Project.
  3. Выберите Java, затем выберите JDK, установленный в предыдущей главе, из выпадающего списка JDK (IntelliJ обычно определяет его автоматически; если нет — нажмите Download JDK или Add JDK).
  4. Выберите Maven или Gradle в качестве системы сборки, если нужно, или IntelliJ для простого учебного проекта.
  5. Нажмите Create.

IntelliJ откроет новый проект, проиндексирует его и поместит курсор внутрь пустого файла Main.java. Нажмите Shift+F10 (Windows/Linux) или Control+R (macOS), чтобы запустить его.

VS Code

  1. Установите VS Code.
  2. Откройте боковую панель Extensions и найдите Extension Pack for Java (опубликовано Microsoft).
  3. Установите его. Пакет включает языковой сервер Java, отладчик, поддержку Maven и несколько связанных расширений.
  4. Откройте папку с файлом .java. VS Code определит JDK и предложит запустить или отладить программу с помощью иконок на полях редактора.

Если VS Code не может найти ваш JDK, укажите в настройке java.jdt.ls.java.home корневой каталог установки JDK (директорию, содержащую bin/javac).

Eclipse

  1. Загрузите пакет Eclipse IDE for Java Developers с eclipse.org.
  2. Распакуйте и запустите.
  3. Используйте File → New → Java Project, задайте имя и примите JDK по умолчанию. Eclipse создаст папку src/, в которой будут храниться файлы .java.

Структура проекта

Большинство Java-проектов следуют соглашению, популяризированному Maven и принятому Gradle:

my-project/
├── pom.xml               # Maven build file (or build.gradle for Gradle)
├── src/
│   ├── main/
│   │   ├── java/         # production source files
│   │   │   └── com/example/MyApp.java
│   │   └── resources/    # config files, templates, properties
│   └── test/
│       ├── java/         # test source files
│       │   └── com/example/MyAppTest.java
│       └── resources/    # test fixtures
└── target/               # compiled output (gitignored)

Каталог src/main/java зеркально отражает иерархию пакетов: класс, объявленный как package com.example;, находится в src/main/java/com/example/. Это не просто соглашение — компилятор Java откажется найти класс, у которого объявление package не совпадает с путём к папке, поэтому структура каталогов и имена пакетов должны точно совпадать. Придерживайтесь этой структуры, и любой инструмент Java будет знать, где искать ваш код.

Для ранних глав этой книги всё это не нужно — одного файла .java в любой папке достаточно для начала.

Настройка JAVA_HOME и PATH

Если ваша IDE может найти java и javac через меню, трогать переменные среды не нужно. Но как только вы перейдёте в терминал — или начнёте использовать Maven, Gradle, Spring Boot или любой инструмент командной строки — им потребуется установленная переменная JAVA_HOME.

JAVA_HOME — это переменная среды, которая указывает на корневой каталог установки JDK (папку, содержащую bin/, lib/ и так далее). Инструменты сборки читают её для нахождения компилятора и стандартной библиотеки, поэтому отсутствующая или неправильная JAVA_HOME — самая распространённая причина, по которой mvn или gradle падают сразу после установки.

Проверьте настройку из терминала:

java -version    # prints the runtime version, e.g. "openjdk 21.0.2"
javac -version   # prints the compiler version; should match the above
echo $JAVA_HOME  # on Windows: echo %JAVA_HOME%

Если java -version и javac -version выдают разные версии, PATH и JAVA_HOME указывают на разные JDK — исправьте это до начала сборки.

Смотрите How to Install Java (JDK) для платформо-зависимых команд или используйте менеджер версий, например SDKMAN!, который автоматически устанавливает JAVA_HOME для каждой оболочки.

Внимание

Указание JAVA_HOME на директорию bin вместо корня JDK — классическая ошибка. Переменная должна указывать на корневой каталог установки (директорию, содержащую bin), а не на сам bin.

Полезные горячие клавиши

Несколько горячих клавиш, которые вы будете постоянно использовать в IntelliJ:

  • RunShift+F10 (Win/Linux) / Control+R (macOS)
  • DebugShift+F9 / Control+D
  • Format fileCtrl+Alt+L / Cmd+Option+L
  • Quick fixAlt+Enter / Option+Return
  • Find anywhereShift Shift (двойное нажатие)
  • Rename symbolShift+F6

VS Code и Eclipse имеют аналогичные горячие клавиши в соответствующих меню Keymap.

Что дальше

Вы готовы писать код. Java Hello World Program разбирает полную первую программу строка за строкой, а How to Compile and Run a Java Program показывает, что происходит под капотом, когда ваша IDE нажимает Run.

Практика

Практика
Какой каталог использует стандартная структура Java-проекта для production-исходников?
Какой каталог использует стандартная структура Java-проекта для production-исходников?
Was this page helpful?