Сценарий
Я создаю приложение Kotlin с использованием модулей Gradle в IntelliJ IDEA.
Я столкнулся с проблемой, когда для каждого модуля Gradle, который я создаю в проекте, IntelliJ IDEA автоматически создает и / или заново создает структуры каталогов для исходных наборов, которые мне не нужны.
Я использую IntelliJ IDEA 2018.1.2 в Windows 10 x64.
Шаги для воспроизведения
- Открыть IntelliJ IDEA и «Создать новый проект»
- Создание проекта Gradle
- Только из «Дополнительные библиотеки и фреймворки» отметьте «Kotlin (Java)»
- Укажите для проекта GroupId, ArtifactId и Version
- Установите флажок «Использовать автоматический импорт» и снимите флажок «Создать отдельный модуль для исходного набора»
- Готово. На этом этапе должна появиться IDE, а Gradle должен синхронизироваться.
Исходная структура проекта должна выглядеть следующим образом. Я развернул только те каталоги, которые относятся к этому вопросу.
template-app
├ .idea
├ gradle
├ src
│ ├ main
│ │ ├ java
│ │ ├ kotlin
│ │ └ resources
│ └ test
│ ├ java
│ ├ kotlin
│ └ resources
├ build.gradle
├ gradlew
├ gradlew.bat
└ settings.gradle
Мне не нужен каталог src
, поэтому я удалил его, и теперь структура проекта выглядит следующим образом.
template-app
├ .idea
├ gradle
├ build.gradle
├ gradlew
├ gradlew.bat
└ settings.gradle
Далее я создаю новый модуль Gradle (mod-one) в моем проекте, и теперь структура проекта выглядит следующим образом.
template-app
├ .idea
├ gradle
├ mod-one
│ ├ src
│ │ ├ main
│ │ │ ├ java
│ │ │ ├ kotlin
│ │ │ └ resources
│ │ └ test
│ │ ├ java
│ │ ├ kotlin
│ │ └ resources
│ └ build.gradle
├ src
│ ├ main
│ │ ├ java
│ │ ├ kotlin
│ │ └ resources
│ └ test
│ ├ java
│ ├ kotlin
│ └ resources
├ build.gradle
├ gradlew
├ gradlew.bat
└ settings.gradle
Обратите внимание, что mod-one теперь содержит каталог src
, но не только это, каталог src
, который я удалил ранее, также был воссоздан, включая его подкаталоги.
Моя предполагаемая структура
Родительскому модулю (например, template-app ) вообще не требуется каталог src
. На этом уровне проекта не будет кода.
Каждый модуль (например, mod-one ) не будет содержать никаких тестов и, следовательно, потребует только main
source-set / module, но не test
source-set / модуль.
Тесты будут содержаться в одном модуле (например, mod-tests ), и поэтому для них потребуется только test
source-set / module, но не main
source-set /module.
Не будет Java-кода, поэтому мне не требуются java
каталоги.
В большинстве случаев мне не потребуется resources
, и я с удовольствием добавлю их в случае необходимости.
Исходя из вышеизложенного, структура должна выглядеть следующим образом.
template-app
├ .idea
├ gradle
├ mod-one
│ ├ src
│ │ ├ main
│ │ │ └ kotlin
│ └ build.gradle
├ mod-test
│ ├ src
│ │ └ test
│ │ └ kotlin
│ └ build.gradle
├ build.gradle
├ gradlew
├ gradlew.bat
└ settings.gradle
Вопрос
Почему IntelliJ IDEA создает и / или воссоздает каталоги, которые мне не нужны, и как я могу это остановить?