Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除渐变默认源集_Java_Eclipse_Gradle - Fatal编程技术网

Java 删除渐变默认源集

Java 删除渐变默认源集,java,eclipse,gradle,Java,Eclipse,Gradle,我正试图运行gradle来生成一个eclipse项目 我想要以下结构: project └── src ├── main │   ├── ... │   ├── ... │   └── ... └── test ├── ... ├── ... └── ... 以下是我的build.gradle的相关部分: sourceSets { main { java {

我正试图运行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中的默认源代码集(我认为这就是解决方案),它将根据

srcDir
向集合中添加一个新位置,而
setSrcDirs
将替换该位置,这很可能就是您要查找的位置。

试试看

sourceset{
主{
java{srcDirs=['main']}
}
测试{
java{srcDirs=['test']}
}
}

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

您如何创建新的gradle项目?为什么不使用默认(标准)源代码集布局?我只是不想要最后两个类路径条目,当我运行
gradle elipse
时。我不知道这个约定。它是否如此具有破坏性以至于需要一个很好的理由?关于标准布局,请参见这里的第45.4节:坚持标准布局意味着减少与配置的争论,就像您必须做的那样,并且更干净地构建文件。因此,除非有令人信服的理由偏离,否则最好坚持标准布局。