Настройка IntelliJ IDEA
Эта статья рассказывает о том, как настроить Ваше рабочее пространство в IntelliJ IDEA для разработки плагинов с использованием SpongeAPI и а системы сборки, таких как Maven или Gradle или Плагин разработки Minecraft.
Если вы хотите создать ваш проект полностью с нуля, пожалуйста, пропустите все до секции Gradle или Maven. Используя плагин Minecraft Dev, он установит точку старта и устранит ваши попытки понять что означают те или функции при поднятии вашего проекта «с земли».
Использование IDEA Minecraft Dev плагина для создания рабочей отправной точки
Плагин Minecraft Development для IntelliJ это отличный плагин, который делает процесс создания плагина гораздо проще, а также предоставляет некоторые аккуратные и полезные возможности для разработки. По умолчанию он создаст проект, который использует Gradle как инструмент сборки.
Установка Плагина Разработки Minecraft
Этот плагин доступен в репозитории плагинов JetBrains IntelliJ.
Благодаря нему, вы можете установить плагин через внутренний браузер IntelliJ. Перейдите в File -> Settings -> Plugins и нажмите на кнопку Browse Repositories. внизу окна. В окне поиска просто найдите Minecraft . Вы можете установить его там и перезапустить IntelliJ, чтобы активировать плагин.
Создание Вашего Проекта из Шаблона
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Minecraft в всплывающем меню.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Выберите Sponge plugin для типа вашего проекта, затем нажмите Next .
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
Изменение конфигурации проекта
Перейдите в Gradle или Maven секцию, в зависимости от того, что вы выбрали при создании проекта.
Создание плагина с нуля – Gradle
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Gradle в раскрывшемся списке.
- Если вы хотите, выберите любые дополнительные библиотеки и фреймворки, например Kotlin.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Нажмите Next для дальнейших действий.
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
- Windows: File -> Settings -> Build, Execution, Deployment -> Gradle
- Mac: Intellij IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle
Редактирование Скрипта Сборки
- Откройте build.gradle в навигаторе и добавьте зависимости.
- Отредактируйте build-скрипт, как описано в статье Настройка Gradle .
- Откройте Gradle tab в правой части окна программы и нажмите кнопку обновления (refresh).
- Установка Gradle завершена! Теперь Вы можете приступить к написанию кода Вашего плагина.
Создание плагина с нуля – Maven
Создание Вашего Проекта
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Maven в раскрывающемся списке.
- Убедитесь, что в SDK проекта установлена версия 8/1.8 Java.
- Нажмите Next для дальнейших действий.
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Your Version is up to you. See Номер версии for details.
Изменение конфигурации проекта
- Откройте pom.xml в навигаторе.
- Отредактируйте build-скрипт, как описано в статье Настройка Maven .
- Обновите Ваш проект Maven.
- Импортируйте изменения Maven, если появилась подсказка.
Тестирование Вашего Плагина
Следующие инструкции созданы для быстрого способа тестирования вашего плагина, но не являются самым эффективным способом для постоянной разработки.
Для создания .jar файла, используя Gradle:
- Перейдите в View -> Tool Windows -> Gradle
- Под Tasks -> Build , нажмите на jar
- Процесс сборки должен создать jar в build\libs
Для создания .jar файла, используя Mave:
- Перейдите в View -> «Tool Windows« -> Maven Projects
- В окне Maven Projects , укажите название вашего проекта
- В Plugins , укажите jar
- Сделайте двойной щелчок по jar:jar
- Процесс сборки должен создать jar в taget
Скопируйте ваш jar файл в директорию mods рабочего Sponge сервера, затем перезапустите сервер для проверки.
Для более эффективного процесса разработки, смотрите Отладка плагина для инструкций по запуску как на сервере Sponge, так и плагина внутри IDEA. Этот процесс позволяет вам изменять код плагина без перезапуска сервера.
Импорт Существующего Проекта (Gradle или Maven)
Если вы уже начали работу с вашим проектом и хотите снова импортировать его позже, вам необходимо его импортировать вместо повторного создания внутри вашей IDE:
- Нажмите Файл > Открыть или Импортировать Проект .
- Gradle: Переместитесь к файлу build.gradle и выберите его.
- Maven: Переместитесь к файлу pom.xml и выберите его.
- Убедитесь, что все настройки верны и нажмите Ок .
Git Интеграция
JetBrain предлагает документацию по интеграции Git:
Как настроить intellij idea для java
В прошлой теме мы рассмотрели, как создавать первую программу с последующим ее запуском в командной строке. Однако в реальности, как правило, крупные программы разрабатываются не при помощи простого текстового редактора, а с использованием таких средств как IDE или интегрированные среды разработки, которые упрощают и ускоряют написание кода и создание приложений. На данный момент одной из самых популярных сред разработки для Java является IntelliJ IDEA от компании JetBrains. Рассмотрим, как использовать данную среду.
Прежде всего загрузим установочный дистрибутив с официального сайта https://www.jetbrains.com/idea/download. По этому адресу можно найти пакеты для Windows, MacOS, Linux. Кроме того, сама среда доступна в двух версиях — Ultimate (платная с триальным бесплатным периодом) и Community (бесплатная). В данном случае выберем бесплатную версию Community .

Конечно, Community-версия не имеет ряда многих возможностей, которые доступны в Ultimate-версии (в частности, в Community недоступны опции для веб-приложений на Java). Но Community-версия тоже довольно функциональна и тоже позволяет делать довольно много, в том числе приложения на JavaFX и Android.
После установки запустим IntelliJ IDEA и создадим первый проект. Для этого на стартовом экране выберем New Project :

Далее откроется окно создания проекта. В левой части в качестве типа проекта выберем Java.

В поле Name укажем имя проекта. В моем случае проект будет называться HelloApp.
В поле Location можно указать путь к проекту, если не устраивает путь по умолчанию.
Поскольку мы будем работать с языком Java, в поле Language выберем пункт Java
Кроме того, в поле JDK можно указать путь к Java SDK, который будет использоваться в проекте. Как правило, это поле по умолчанию уже содержит путь к JDK, который установлен на локальном компьютере. Если это поле пусто, то его надо установить.
После этого нажмем на кнопку Create. После этого среда создаст и откроет проект.

В левой части мы можем увидеть структуру проекта. Все файлы с исходным кодом помещаются в папку src . По умолчанию эта папка пуста, никаких файлов кода у нас в проекте пока нет. Поэтому добавим файл с исходным кодом. Для этого нажмем на папку src правой кнопкой мыши и в контекстном меню выберем пункт New -> Java Class :

После этого нам откроется небольшое окошко, в которое надо ввести имя класса. Пусть класс будет называться Program :

После нажатия на клавишу Enter в папку src будет добавлен новый файл с классом java (в случае выше класс Program). А в центральной части откроется его содержимое — собственно исходный код:

Изменим код класса следующим образом:
public class Program < public static void main(String[] args) < System.out.println("Hello Java!"); >>С помощью зеленой стрелки на панели инструментов или через меню Run -> Run. запустим проект.

И внизу IntelliJ IDEA отобразится окно вывода, где мы можем увидеть результат работы нашей программы.
Настройка IntelliJ IDEA
Эта статья рассказывает о том, как настроить Ваше рабочее пространство IntelliJ IDEA для разработки плагинов со SpongeAPI и :doc: создавать системы, такие как Maven или Gradle `.
Gradle
Создание проекта
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Gradle в появившемся окне и нажмите кнопку Next .
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Version — версия проекта, зависит только от Вас.
Редактирование build-скрипта
- Откройте build.gradle в навигаторе и добавьте зависимости.
- Отредактируйте build-скрипт, как описано в статье Настройка Gradle .
- Откройте Gradle tab в правой части окна программы и нажмите кнопку обновления (refresh).
- Установка Gradle завершена! Теперь Вы можете приступить к написанию кода Вашего плагина.
Импорт Вашего проекта
Если вы уже начали работу с вашим проектом и хотите снова импортировать его позже, вам необходимо его импортировать вместо повторного создания внутри вашей IDE:
- Нажмите File > Open
- Перейдите к файлу проекта build.gradle
- Нажмите Ok
Maven
Создание проекта
- Откройте IntelliJ IDEA.
- Нажмите Create New Project .
- Выберите Maven в появившемся окне и нажмите Next .
- Введите Ваши Group ID, Artifact ID, и Version.
- Group ID обычно должен соответствовать названию Вашего пакета Java. Для подробностей смотрите Основной класс плагина .
- Artifact ID обычно должен соответствовать Вашему plugin ID, который задавался Вами ранее, например myplugin .
- Version — версия проекта, зависит только от Вас.
Редактирование конфигурации проекта
- Откройте pom.xml в навигаторе.
- Отредактируйте build-скрипт, как описано в статье Настройка Maven .
- Обновите Ваш проект Maven.
- Импортируйте изменения Maven, если появилась подсказка.
Импорт Вашего проекта
Если вы уже начали работу с вашим проектом и хотите снова импортировать его позже, вам необходимо его импортировать вместо повторного создания внутри вашей IDE:
- Нажмите File > Open
- Перейдите к файлу проекта pom.xml
- Нажмите Ok
Git Интеграция
JetBrains предлагает документацию по интеграции Git:
Как настроить intellij idea для java
Занятие 1: Установка и настройка
(NEW) Лог изменений курса в 2019
Что нужно знать перед началом курса!
Компиляция, интерпретация и байт-код Java (5:01)
Из чего состоит Java? JVM, JRE, JDK (1:09)
Версии и редакции Java: Java SE, Java EE (2:16)
Установка JDK и среды разработки Intellij IDEA, настройка IDEA (3:12)
Cкачать Java (OpenJDK, OracleJDK, Java8, Java 11)
JVM-based языки и популярные фреймворки (1:27)
Знакомство с интерфейсом IDEA (4:50)
Приложение: Первое приложение HelloJava в профессиональной среде разработки IntelliJ IDEA (10:58)
Создаем несколько классов в нашей программе (5:31)
Пошаговое выполнение программы в IDEA (3:53)
Основы оформления кода (2:29)
Домашнее задание 1.1 «установка/настройка»
(NEW) Вопросы-ответы
(NEW) Как допускать меньше ошибок в коде? (самая важная лекция)
(NEW) Редкая ошибка в Intellij Idea «failed to create a child event loop»
Занятие 2: Типы данных в Java, тонкости использования
Обзор пройденного материала (3:07)
Куча, Стек и перегрузка методов (4:04)
Как сдать простое ДЗ из IntelliJ IDEA (0:49)
(NEW) Как сдать простое ДЗ из IntelliJ IDEA UPDATE. Анонимные gist больше не поддерживаются в github
Домашнее задание 2.1 «перегрузка метода» (простое, необязательное)
Рекурсия в Java (2:02)
Домашнее задание 2.2 «рекурсия» (простое, необязательное)
(NEW) Пройдите квест по рекурсии на Khasang.Quests (обязательное задание)
Что такое Стек? (4:22)
Зарезервированные слова в Java
Что такое область памяти «Куча»? (2:19)
(NEW) Так все же в массиве хранятся объекты или примитивные типы данных?
Выделение памяти в Java (2:14)
Работаем с классами-обертками (1:01)
Домашнее задание 2.3 «классы-обертки» (простое, необязательное)
Код занятия
(NEW) Еще об особенностях символов Character в Java
(NEW) Еще про классы-обертки
*(NEW) Boxing и unboxing
(NEW) Ответ к задаче
(NEW) Внимание, неожиданное поведение при делении
(NEW) Когда требуется инициализация переменных в Java?
(NEW) Преобразование типов в Java
(NEW) Порядок операций при преобразовании типов в Java
(NEW) Вопросы-ответы
(NEW) Константы в Java, что это и зачем?
Занятие 3: Управляющие конструкции в Java и методы
Обзор дальнейших шагов (4:38)
Условные выражения в Java: if-else (9:36)
(NEW) Союзы в условных выражениях
Конструкции: switch (8:10)
While и три других типа циклов в Java (3:29)
Цикл do-while (1:47)
Цикл for (4:06)
(NEW) Тип данных boolean
(NEW) Тернарный оператор (2:53)
(NEW) Преинкремент и постинкремент
Занятие 4: Углубляемся в циклы + массивы в Java
Вложенные циклы (1:04)
(NEW) Как быстро понять вложенные циклы
Форматированный вывод: printf() (2:42)
(NEW) Расширенные параметры printf()
Возвращение значений из метода (10:04)
Возвращение значений из метода: еще один пример (3:19)
Как на самом деле происходит возвращение значений: понятие «Стек» в программировании (3:59)
Домашнее задание 4.1 «body mass index (BMI)» (обязательное)
(NEW) Вопросы-ответы: как по шагам написать метод для вычисления значения
(NEW) Как не потерять данные в методе?
Домашнее задание 4.2 «таблица умножения» (простое, обязательное)
(NEW) Подсказка по Домашнее задание 4.2 «таблица умножения» (что если не получается вывести в столбик)
(NEW) Подсказка по Домашнее задание 4.2 «таблица умножения»: как дебажить (5:21)
Одномерные массивы в Java (6:33)
Инициализация массива (0:33)
(NEW) Синтаксический сахар при инициализации массива
Углубляемся в массивы (0:56)
Что такое null и NullPointerException (1:44)
Новые фишки по работе с циклами и массивами в IDEA (1:41)
Реализация многомерных массивов в Java (4:28)
(NEW) Как сделать паузу в игре?
Домашнее задание 4.3 «крестики/нолики» (обязательное)
(NEW) Подсказка по ДЗ крестики/нолики: если непонятно с чего начать и как проектировать приложение
(NEW) Подсказка по ДЗ крестики/нолики, как реализовать проверку «занята ли клетка»
(NEW) Подсказка по ДЗ крестики/нолики, как реализовать зацикливание
(NEW) Как повысить надежность кода в Java? Обращаем внимание на взаимозависимые методы (2:06)
(NEW) Создание копии или клонирование массива в Java
Занятие 5: Процедурное программирование в Java
Класс Scanner (10:18)
Вводим данные от пользователя в цикле (7:32)
(NEW) Особенности работы класса Scanner со строками и числами (3:19)
(NEW) Дополнительные команды (могут помочь при работе с ДЗ)
(NEW) Для продвинутого уровня: локали и Scanner
Упражнение 1 для самостоятельной работы
(NEW) Упражнение 1 – ответ
Упражнение 2 для самостоятельной работы
(NEW) Упражнение 2 – ответ
Упражнение 3 (+ Блэкджек) для самостоятельной работы
(NEW) Упражнение 3 — ответ
Упражнение 4 для самостоятельной работы
(NEW) Упражнение 4 – ответ (первый вариант)
(NEW) Упражнение 4 – ответ (второй вариант)
(NEW) Упражнение 4: вопросы-ответы
Упражнение 5 для самостоятельной работы
(NEW) Упражнение 5 – ответ
Упражнение 6 для самостоятельной работы
(NEW) Упражнение 6 – ответ
Упражнение 7 для самостоятельной работы
(NEW) Упражнение 7 – ответ
Пишем приложение: Плоский морской бой в процедурном стиле (9:26)
(NEW) Как перемещать блоки кода в IDEA с помощью клавиатуры?
(NEW) Как в IntelliJ IDEA с помощью клавиатуры обрамить блок кода в цикл?
Пакеты в Java (6:19)
(NEW) Пакеты в Java (стандарт оформления)
(NEW) Как правильно сообщать об ошибке и задавать вопросы (7:10)
Домашнее задание 5.1 «Линейный морской бой» (обязательное)
(NEW) К ДЗ 5.1: Как правильно проверить границы, не выйдя за пределы массива
(NEW) Вопросы-ответы
Занятие 6: Объектно-ориентированное программирование в Java
(NEW) Вопрос-ответ: что делать, если много раз пробовал, но не получается?
Сначала напишем «плохой пример», без ООП (6:04)
Создаем новый тип данных: КОШКА! (2:23)
Создаем экземпляр класса! (7:02)
Что такое конструктор (4:00)
Об исчезающем конструкторе (0:57)
Подведем итоги по первому шагу в ООП (1:33)
Переписываем морской бой в объектно-ориентированном стиле: первый шаг (1:02)
Второй шаг в ООП-проектировании: выделяем характеристики и методы (11:23)
Третий шаг в ООП-проектировании: создаем экземпляры классов (1:04)
Четвертый шаг в ООП-проектировании: настройка и связывание классов друг с другом (3:07)
ООП-проектирование: итоги (1:45)
(NEW) Сортировка массива методом пузырька (7:54)
(NEW) Код занятия
(NEW) Сортировка массива объектов вручную (3:18)
(NEW) Как хранятся объекты в массиве в Java (Детальней про кучу и стек)
(NEW) Цикл foreach в Java (3:20)
(NEW) Код занятия
(NEW) Упражнение 1 для самостоятельной работы
(NEW) Упражнение 1 – ответ
Домашнее задание 6.1 «Скачки» (обязательное)
(NEW) Подсказка по ДЗ Скачки (разбор типичной ошибки)
(NEW) Антипаттерн «Беременная лошадь» – как правильно распределить обязанности между классами в Java
(NEW) Как упростить код, уменьшив кол-во точек при доступе к полям/методам в Java
(NEW) Антипаттерн «Неожиданные геттеры/сеттеры», Антипаттерн «Открытый капот», Антипаттерн «Передача кошки по частям»
(NEW) Типичные ошибки при выделении классов из предметной области (9:06)
(NEW) Два подхода по упрощению кода (временные переменные и инкапсуляция) (5:24)
(NEW) Вопросы-ответы
Занятие 7: Статические переменные, строки и коллекции в Java
Статические переменные: правила и принципы использования (13:50)
Обращение к статическим переменным (2:35)
Статические методы в Java (6:46)
Вложенная иерархия классов (2:35)
Реализация уникального идентификатора через static (1:51)
Домашнее задание 7.1 «Повторяем static» (обязательное)
Домашнее задание 7.1.1 «Связываем классы между собой» (обязательное)
Коллекция ArrayList в Java (8:21)
Роль дженериков в коллекциях (4:29)
(NEW) Как отобразить содержимое коллекции ArrayList в консоли
(NEW) Мини-паттерн «Колода карт» (или «Форт Боярд»)
Домашнее задание 7.2 «Применяем ArrayList» и мини-паттерн «Форт Боярд» (обязательное)
Домашнее задание 7.3 «Менеджер книг» (обязательное)
(NEW) Подсказка по ДЗ менеджер книг (разбор стандартной ошибки)
Как правильно сравнивать строки в Java (6:51)
Тонкости сравнения строк в Java (5:05)
Переопределение equals для сравнения своих объектов (8:32)
(NEW) Как сравнивать элементы массива, типизированного по классу-обертке
(NEW) Вопросы-ответы по работе в IntelliJ IDEA
(NEW) Вопросы-ответы
Занятие 8: Тонкости ООП в Java
Инкапсуляция в Java (8:30)
Наследование в Java (5:34)
Добавляем методы в классы потомков (1:33)
Тонкости работы с конструкторами при наследовании и что такое super (5:14)
Вызов конструктора предка (1:54)
Аннотация @Override и еще раз о переопределении и перегрузке методов (4:46)
(NEW) Анти-паттерн Public Morozoff: или как не нужно использовать модификаторы
Введение в полиморфизм (1:58)
Основы полиморфизма в ООП (3:56)
Кастинг, восходящее и нисходящее преобразование (2:30)
Определяем класс с помощью instance of (0:33)
Полиморфизм и коллекции (3:48)
(NEW) Вопросы-ответы про полиморфизм
Переопределяем toString(); (2:20)
Домашнее задание 8.1
Домашнее задание 8.2 «Полиморфный менеджер вещей» (обязательное)
(NEW) Удаление из коллекции в цикле
(NEW) Вопросы-ответы
Сертификат об окончании (и бонусная лекция)
Установка JDK и среды разработки Intellij IDEA, настройка IDEA
- Какую версию JDK устанавливать: 8, 9, 10, 11, 12?
- Все базовые фишки/конструкции в Java неизменны начиная с SE6, поэтому на длительное первое время хватит любой версии, начиная с 6+. Но лучше сразу ставить 8+ (функциональные возможности языка нам понадобятся довольно скоро)
- Ошибиться не бойтесь. Если что, то потом всегда можно доустановить новую версию и легко переключаться между ними в среде разработки
- Как для Windows определить разрядность системы
https://support.microsoft.com/ru-ru/kb/827218
http://windows.microsoft.com/ru-ru/windows/32-bit-.- Если 32 разряда у системы -> ставим x86
- 64 -> x64
- C:\Program Files\Java\jdk1.8.0_51\
- C:\Program Files\Java\jdk1.12.0_1
- win
Win-R — написать cmd и нажать Enter запустится командная строка. Написать java -version (так проверяется есть ли JRE) - mac
Ctrl-Space и написать Терминал. Дальше java -version
- Популярные среды разработки или IDE (Integrated Development Environment)
- JetBrains IntelliJ IDEA
https://www.jetbrains.com/idea/download/- Вопросы при установке
- при установке лучше задать ассоциацию с расширением файлов .java
- notepad++
- sublime text 2
- text mate (mac os)
- Вопросы при установке
- JetBrains IntelliJ IDEA