将另一个 java 源目录添加到 gradle 脚本

2022-09-01 00:22:05

I hava 一个示例 java 项目包

package com.example.testing;

具有此类文件树

app
|
  src->com->example->testing->Main.java

和 gradle 脚本:

apply plugin: 'java'
apply plugin: 'application'

sourceSets {
    main {
        java {
            srcDirs 'src'
        }
    }


}

sourceSets.main.output.classesDir = file("classes")
mainClassName = 'com.example.testing.Main'

defaultTasks 'compileJava', 'run'

现在我想向这个项目添加一些模块,我的文件夹将是这样的

app
|
  src1->com->example->testing->Main.java

  src2->com->another_example->another_testing->Library.java

如何将新的源代码添加到 gradle 脚本?


答案 1

我同意@JB Nizet关于尊重标准惯例的观点。如果你仍然坚持做一个无政府主义者:

您已经在源代码集中声明了,为什么不添加和呢?您可以将它们添加到同一个源集,或者根据需要为每个模块定义一个源集。srcsrc1src2

sourceSets {
    main {
        java {
            srcDirs 'src'
            srcDirs 'src1'
            srcDirs 'src2'
        }
    }
 }

若要引用项目外部的文件,请参阅此答案


答案 2

我对Gradle 4.6的方法略有不同:

sourceSets {
    main {
        java {
            srcDir 'src/main/java'
            srcDir 'build/swagger-code-dummy/src/main/java'
        }
    }
}

如您所见,我也必须使用“/main/java”子目录指定目录,否则gradle/intellij没有设置正确的路径。

也许这也有助于其他人:)


推荐