В цій нотатці буде розглянуто покрокове створення найпростішого java проекту побудованого на maven в середі розробки Intellij Idea.
Попередньо перевіряємо наявність java:
java --versionРезультат:
java 17.0.6 2023-01-17 LTS
Java(TM) SE Runtime Environment (build 17.0.6+9-LTS-190)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.6+9-LTS-190, mixed mode, sharing)Тепер відкриваємо Intellij Idea та у вкладці Projects обираємо New Project:

Відкривається наступне вікно:

- New Project залишаю за замовчуванням
- Name: назва проекту hello-world
- Location: директорія в якій буде знаходитись проект, залишаю за замовчуванням
- Language: тут все зрозуміло, у мене буде Java
- Buld system: в цьому прикладі використовую Maven
- JDK: середа розробки сама підтягнула встановлену в мене версію
- Add sample code: тут я зняв галочку, оскільки збираюсь написати свій Hello World самостійно
Наступна секція Advanced Settings містить інформацію яка відноситься до Maven:
- GroupId: вказує на компанію розробника поточного проекту, зазвичай це доменне ім’я компанії. В моєму випадку буде домен сайту wiki.it.notes
- ArtifactId: назва проекту, нехай буде hello-world
Після встановлення всієї початкової інформації і натискання Create, створюється проект з такою структурою:

Це стандартний мінімальний шаблон директорій в Maven:
- src/main/java – тут повинно зберігатися все, що стосується основного коду проекту
- src/test/java – тут повинно зберігатися все, що стосується автотестів проекту
В корні проекту лежить автоматично згенерований файл pom.xml, який містить інформацію про проект та його конфігурацію. Подивимось що у нього всередині:

Як можна помітити, присутні поля groupId та artifactId зі значеннями котрі було задано під час створення проекту. В великих проектах до pom.xml додається конфігурація залежностей, плагінів, процесу збирання проекту та багато чого іншого. Для проекту рівня Hello World це все не потрібно.
Тепер можна переходити до написання першої програми, так званої Hello World. Попередньо в директорії src/main/java я створив кореневий пакет проекту. Імена пакетів відповідно до конвенції іменування пишуться з маленької літери, в якості роздільника використовується крапка. Ім’ям кореневого пакету зазвичай вказується те саме значення що і в groupId. В моєму випадку це wiki.it.notes:

Слід додати, що в розумінні операційної системи wiki, it та notes – це звичайні директорії. Якщо подивитися властивості директорії notes в провіднику, то можна побачити:

Всередині пакету створюю java клас HelloWorld:

Сама програма функція якої вивід символьного повідомлення в консоль:
package wiki.it.notes;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}Результат виконання:
