首页 > 解决方案 > IntelliJ Gradle 意外删除自己的模块

问题描述

这是指示正在删除的模块的对话框

在此处输入图像描述

但是当我使用 build.gradle 导入一个新项目并且我现在没有启用时,auto import我有一个对话框询问我是否要启用auto import,并且模块不再自动删除。

在此处输入图像描述

这是build.gradle文件

/*------------------------------------------------------------------------------
Gradle latest file.

Build command:
./gradlew deploy

Create Javadocs at ./latest/docs/javadoc/index.html
./gradlew buildJavadocs

Other commands of interest:
./gradlew wrapper --gradle-version 4.7
./gradlew tasks
./gradlew properties

Manual search for dependencies in Gradle repository:
https://bintray.com/bintray/jcenter/io.appium%3Ajava-client
------------------------------------------------------------------------------*/
group 'com.my.group'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceSets {
    main {
        java {
            srcDir 'src/'
        }
    }
}
sourceCompatibility = 1.8

repositories {
    jcenter()
}

dependencies {
    compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
    compile 'junit:junit:4.12'
    compile 'org.seleniumhq.selenium:selenium-java:3.11.0'
    compile 'io.appium:java-client:6.1.0' // /compile 'io.appium:java-client:6.0.0-BETA5'
    //compile 'io.appium:java-client:6.0.0-BETA5' // compile 'io.appium:java-client:6.1.0'
    compile 'com.googlecode.json-simple:json-simple:1.1.1'
    compile 'com.google.guava:guava:24.1-jre'
    compile group: 'org.apache.commons', name: 'commons-io', version: '1.3.2'
}

task copyToLib(type: Copy, dependsOn: build) {
    String dst = "$rootDir/jar"
    description "Copy library JAR dependencies to $dst"
    from configurations.runtime
    into "$dst"
}

task copyToOut(type: Copy, dependsOn: build) {
    String dst = "$rootDir/out"
    description "Copy library JAR output to $dst"
    from jar
    into "$dst"
}

task deploy {
   dependsOn clean
   dependsOn build
   dependsOn copyToLib
   dependsOn copyToOut
}

task buildJavadocs(type: Javadoc) {
  exclude 'srcOld/**'
  classpath += sourceSets.test.compileClasspath
  source += sourceSets.main.allJava
}

编辑

当 Gradle 删除模块时,它也删除gradle.build了 gradle 包装器。我已经使用默认 Java 模板创建了一个全新的项目,并将我的代码复制并粘贴到其中,但问题仍然存在。

标签: gradleintellij-ideagradlew

解决方案


对于 Gradle 项目,IDE 会根据您的 build.gradle 脚本配置项目结构,包括项目中包含的模块。例如,如果您在 IDE Gradle 设置中启用了为每个源集创建单独的模块选项,IDE 会为每个 Grale 源集创建单独的模块。它在重新导入build.gradle 文件时执行。如果您在 IDE Gradle 配置中启用了自动导入,它会自动执行。


推荐阅读