Java 在现有项目结构上设置渐变

Java 在现有项目结构上设置渐变,java,gradle,build.gradle,gradle-plugin,Java,Gradle,Build.gradle,Gradle Plugin,我有一个java项目,其现有代码结构如下: src |- package1 |- package2 |- package3 |- package4 |- tests 如上所示,包含测试的包(tests)位于src目录中的一个包中 我知道gradle要求src代码在src/main/java/下,测试在src/test/java下。我想在此项目上设置gradle,但不想更改我上面显示的现有结构 有什么方法可以使用gradle现有的项目结构吗 任何有价值的帮助。。

我有一个java项目,其现有代码结构如下:

src
 |- package1
    |- package2
    |- package3
    |- package4
    |- tests
如上所示,包含测试的包(
tests
)位于
src
目录中的一个包中

我知道gradle要求src代码在
src/main/java/
下,测试在
src/test/java
下。我想在此项目上设置gradle,但不想更改我上面显示的现有结构

有什么方法可以使用gradle现有的项目结构吗


任何有价值的帮助。。。谢谢

希望这与请求相符,但这只是一个例子。鉴于:

src/net/codetojoy/Foo.java
src/net/codetojoy/service/FooService.java
src/net/codetojoy/tests/FooServiceTestCase.java
我们可以为Gradle配置
sourceset
,如下所示:

sourceSets {
    main {
        java {
            srcDir 'src'
            exclude 'net/codetojoy/tests/*'
        }
    }
}

sourceSets.test.java.srcDir 'src/net/codetojoy/tests'

可能有,但这只是自找麻烦。工具和开发人员期望标准结构。就用它吧。移动3个目录真的不是一项复杂的任务。@JB\u Nizet:移动3个目录可能是一项政治任务,这本身就很复杂,不是吗?我正在使用intellij。。。在
FooServiceTestCase.java
文件中,我在包行上收到一个错误,它说
package name“net.codetojoy.tests”与文件路径不对应
?我将在命令行上尝试我的示例,然后在命令行上尝试您的代码,最后是IntelliJ。你的问题没有提到IntelliJ,因此这是一个单独的问题,或者你应该更新原始问题。你是对的-我已经接受了你的答案,并为IntelliJ打开了一个新问题