Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.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 Gradle能否处理不符合默认约定的生成目录结构?_Java_Ant_Ivy_Gradle_Maven - Fatal编程技术网

Java Gradle能否处理不符合默认约定的生成目录结构?

Java Gradle能否处理不符合默认约定的生成目录结构?,java,ant,ivy,gradle,maven,Java,Ant,Ivy,Gradle,Maven,我正在从事一个基于+的项目,该项目具有以下目录结构: projectRoot/src projectRoot/classes projectRoot/conf projectRoot/webservices 这在中非常有效,但我希望迁移到 有没有一种方法可以在Gradle中定义一个非maven目录结构?或者我应该考虑吗?Gradle很容易适应任何目录结构。请参阅Gradle用户指南的一节。非标准项目目录结构示例(自定义布局): 尝试: 或 经过今天几个小时的搜索,这解决了我的问题。出于某种原因

我正在从事一个基于+的项目,该项目具有以下目录结构:

projectRoot/src
projectRoot/classes
projectRoot/conf
projectRoot/webservices
这在中非常有效,但我希望迁移到


有没有一种方法可以在Gradle中定义一个非maven目录结构?或者我应该考虑吗?

Gradle很容易适应任何目录结构。请参阅Gradle用户指南的一节。

非标准项目目录结构示例(自定义布局):

尝试:


经过今天几个小时的搜索,这解决了我的问题。出于某种原因,--project root参数和rootProject.projectDir被忽略了吗?无论我做什么,build.gradle中的“println project.projectDir”总是回显build.gradle所在的文件夹。使用:srcDir'../../src/main/java“修复了这个问题。谢谢!
sourceSets {
    main {
        java {
            srcDir 'sources/main/java'
        }
        outputDir = file("$workDir/client/program")
        // For older version (now deprecated):
        //output.classesDir = "$workDir/client/program"
    }
    test {
        java {
            srcDir 'sources/test/java'
        }
        outputDir = file("$workDir/client/tests")
        // For older versions (now deprecated):
        //output.classesDir = "$workDir/client/tests"
        //output.resourcesDir = "$workDir/client/tests"
    }
    resources {
        srcDirs 'sources/test/res'
    }
}
sourceSets {
    main {
        java {
            srcDirs = ['src/java']
        }
        resources {
            srcDirs = ['src/resources']
        }
    }
}
sourceSets {
    main.java.srcDirs += 'src/java'
    main.resources.srcDirs += 'src/resources'
}