首页 > 解决方案 > IntelliJ IDEA - 创建或重新创建我不想要或已删除的目录

问题描述

设想

我正在使用 IntelliJ IDEA 中的 Gradle 模块构建 Kotlin 应用程序。

我遇到了一个问题,对于我在项目中创建的每个 Gradle 模块,IntelliJ IDEA 会自动为我不想要的源集创建和/或重新创建目录结构。

我在 Windows 10 x64 上运行 IntelliJ IDEA 2018.1.2。

重现步骤

  1. 打开 IntelliJ IDEA 并“创建新项目”
  2. 创建一个 Gradle 项目
  3. 从“其他库和框架”仅检查“Kotlin (Java)”
  4. 给项目一个 GroupId、ArtifactId 和 Version
  5. 选中“使用自动导入”并取消选中“为每个源集创建单独的模块”
  6. 结束。此时 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
  ├ .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 创建和/或重新创建我不想要的目录,我该如何阻止它?

标签: gradleintellij-idea

解决方案


取消选中设置(首选项)中的自动为空内容根目录创建目录选项| 构建、执行、部署 | 构建工具 | 摇篮。

每次从 gradle 重新导入时启用此选项,IDE 会根据您的 build.gradle 文件自动创建目录结构。


推荐阅读