删除Gradle默认源集

时间:2016-01-27 03:36:37

标签: java eclipse gradle

我正在尝试运行gradle来生成一个eclipse项目。

我想要以下结构:

project
└── src 
    ├── main 
    │   ├── ...
    │   ├── ...
    │   └── ...
    └── test 
        ├── ...
        ├── ...
        └── ...

以下是我build.gradle的相关部分:

sourceSets {
    main {
        java {
            srcDir 'main'
        }
    }
    test {
        resources {
            srcDir 'test'
        }
    }
}

它会生成此.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"/>

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

2 个答案:

答案 0 :(得分:4)

根据SourceDirectorySet documentation here

srcDir会在集合中添加新位置,而setSrcDirs会替换,并且可能是您正在寻找的位置。

答案 1 :(得分:1)

尝试

sourceSets { 
  main { 
    java { srcDirs = [ 'main' ] } 
  }
  test { 
    java { srcDirs = [ 'test' ] } 
  }
}

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