gradle - IntelliJ IDEA - 创建或重新创建我不想要或已删除的目录

标签 gradle intellij-idea

场景

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

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

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

重现步骤

  • 打开 IntelliJ IDEA 并“创建新项目”
  • 创建 Gradle 项目
  • 仅从“其他库和框架”检查“Kotlin (Java)”
  • 为项目提供 GroupId、ArtifactId 和版本
  • 选中“使用自动导入”并取消选中“为每个源集创建单独的模块”
  • 结束。此时 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我之前删除的目录也被重新创建了,包括它的子目录。

    我的预期结构
  • 父模块(例如模板应用程序)不需要 src目录。项目的这个级别将没有代码。
  • 每个模块(例如 mod-one)不包含任何测试,因此只需要 main源集/模块,但不是 test源集/模块。
  • 测试将包含在单个模块中(例如 mod-tests),因此只需要 test源集/模块,但不是 main源集/模块。
  • 不会有 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 创建和/或重新创建我不想要的目录,我该如何阻止它?

    最佳答案

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

    在每个 re-import from gradle 上启用此选项IDE 会根据您的 build.gradle 文件自动创建目录结构。

    关于gradle - IntelliJ IDEA - 创建或重新创建我不想要或已删除的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50075737/

    相关文章:

    java - 如何在 intellij 中设置 android 源代码?

    java - IntelliJ 插件开发从 PsiAnnotationMemberValue 获取实际对象

    java - 在 IntelliJ 中从数据库自动创建 POJO 类

    gradle - 如何从另一个gradle文件访问值?

    intellij-idea - 如何让 JavaFX 和 Java 11 在 IntelliJ IDEA 中工作

    java - 在 Ubuntu 中构建 APK react native 应用程序的问题

    kotlin - Intellij 显示 build.gradle.kts 中的每一行都是红色的

    ubuntu - 如何安装 SOOT?

    android - 使用低 SDK 构建工具版本编译

    java - IntelliJ IDEA 注释处理不会在配置的文件夹中生成源