删除Gradle默认源集

cdo*_*orn 7 java eclipse gradle

我试图运行gradle以生成一个eclipse项目。

我想要以下结构:

project
??? src 
    ??? main 
    ?   ??? ...
    ?   ??? ...
    ?   ??? ...
    ??? test 
        ??? ...
        ??? ...
        ??? ...
Run Code Online (Sandbox Code Playgroud)

这是我的相关部分build.gradle:

sourceSets {
    main {
        java {
            srcDir 'main'
        }
    }
    test {
        resources {
            srcDir 'test'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它产生这个.classpath:

    <classpathentry kind="src" path="src/main"/>
    <classpathentry kind="src" path="src/test"/>
    ...
    <classpathentry kind="src" path="src/main/java"/>
    <classpathentry kind="src" path="src/test/java"/>
Run Code Online (Sandbox Code Playgroud)

这似乎使月食混乱。我想删除gradle中的默认源集(我认为这是解决方案),它将生成一个适当的.classpath。

And*_*ski 1

尝试

sourceSets { 
  main { 
    java { srcDirs = [ 'main' ] } 
  }
  test { 
    java { srcDirs = [ 'test' ] } 
  }
}
Run Code Online (Sandbox Code Playgroud)

这会覆盖源集属性,而不是扩展它。您可以在方括号中添加更多以逗号分隔的目录。