IntelliJ Gradle意外删除了自己的模块

时间:2018-11-21 21:53:08

标签: gradle intellij-idea gradlew

这是一个对话框,指示要删除的模块

enter image description here

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

enter image description here

这是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模板创建了一个全新的项目,并将我的代码复制并粘贴到其中,但是问题仍然存在。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

鉴于有限的信息,我将为您提供即席修复,只需使用{p>将-----test作为子项目目录添加到您的根项目settings.gradle中即可。

include 'root-proj-dir:dir1:dir2:...:----test'

目录结构所在的地方

root-proj-dir
|
|
----dir1
|   |
|   |
|   ----dir2
|       |
|       |
|       ....----test
----settings.gradle
|
----build.gradle

有关处理多模块(或Gradle术语中的多项目)的更多信息,构建refer this link