Структура папок проекта Java в IntelliJ IDEA
Какова приемлемая структура папок для проектов Java в IntelliJ IDEA?
Несколько источников (как это) предлагают следующую структуру:
[] .idea
[] src
[] main
[] java
com.simpleproject
SimpleClass.java
[] resources
[] test
[] java
com.simpleproject
SimpleClassTest.java
[] resources
Я знаю, что это сработало раньше, но прямо сейчас жалуется java.lang.SecurityException: Prohibited package name: java
Видимо,, java
не разрешено как имя пакета. Я не понимаю, почему это иногда приемлемо, а иногда и неприемлемо. Может ли кто-нибудь предоставить полный пример приемлемой структуры папок проекта в проекте Java в IntelliJ IDEA?
Ответы
Ответ 1
Это основная структура папок проекта Maven. IntelliJ обычно признает это и устанавливает для вас чувственные настройки по умолчанию.
Если это не так (или если это было так, но вы изменили их впоследствии), вам нужно настроить папку Java в качестве папки sources
(то есть, в папке, которая содержит исходный код).
Для этого вам необходимо:
- Перейдите в настройки структуры вашего проекта:
File > Project Structure
- Выберите свой проект в средней панели
- Выберите вкладку "Источники" на правой панели
- Примечание к комментарию (спасибо @Line): В IntelliJ 2018.3.5 вы "выбираете вкладку" Модули "на левой панели".
- Перейдите в папку
src/main/java
и выберите ее - Отметить как
Sources
Повторите эти действия для папки с тестами (пометить как "Тесты"), ресурсов (пометить как "Ресурсы"), тестовых ресурсов (пометить как "Тестовые ресурсы") и т.д.
Ответ 2
Ваша конфигурация на странице IntelliJ File > Project Structure
будет переопределена проектом pom.xml
после каждого clean install
. Чтобы предотвратить это, вам необходимо настроить исходный каталог в pom.xml
, как показано ниже:
<sourceDirectory>src/main/java</sourceDirectory>
Ответ 3
Просто закройте intellij и удалите любой существующий файл .IML из корневого каталога проекта.
Ответ 4
В настройках структуры проекта выберите "Модули" → выберите любую метку, чтобы установить тип папки определенного типа. Тогда сделайте mvn clean и mvn compail
![enter image description here]()
![enter image description here]()