在 gradle 脚本中添加另一个 java 源目录

新手上路,请多包涵

我有一个示例 java 项目包

包com.example.testing;

有了这样的文件树

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

和一个渐变脚本:

 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 脚本添加新的源代码?

原文由 RedCollarPanda 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 707
2 个回答

我同意@JB Nizet 关于尊重标准约定的观点。如果您仍然坚持要成为无政府主义者:

您已经在源集中声明了 src ,为什么不添加 src1src2 呢?您可以将它们添加到同一个源集中,或者如果需要,可以为每个模块定义一个源集。

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

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

原文由 RaGe 发布,翻译遵循 CC BY-SA 4.0 许可协议

问题是关于“添加”;案文的问题是描述一个更具体的场景。如果只想添加一个现有目录,这是 添加 的方式:

 sourceSets.main.java.srcDirs += ['src/gen/java']

一个完整的例子 build.gradle 如下:

 apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.squareup:javapoet:1.12.1'
}

sourceSets.main.java.srcDirs += ['src/gen/java']

JavaPoet 是用于生成 .java 源文件的 Java API。它仅用作 build.gradle 文件的示例库。

原文由 koppor 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题