当前位置: 首页 > 知识库问答 >
问题:

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

钦永贞
2023-03-14

我有一个java项目包示例

程序包com。实例测试

使用这样的文件树

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

共有3个答案

邵华皓
2023-03-14

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

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

完整构建示例。等级如下:

apply plugin: 'java'

repositories {
    mavenCentral()
}

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

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

JavaPoet是一个用于生成<代码>的Java API。java源文件。它只是用作构建的示例库。gradle文件。

胡锋
2023-03-14

我对Gradle 4.6有一个稍微不同的方法

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

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

也许这对其他人也有帮助:)

酆英达
2023-03-14

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

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

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

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

 类似资料:
  • 问题内容: 我有一个示例Java项目包 打包com.example.testing; 用这样的文件树 和gradle脚本: 现在我想向该项目中添加一些模块,我的文件夹将是这样的 如何在gradle脚本中添加新的源代码? 问题答案: 我同意@JB Nizet关于遵守标准约定的意见。如果您仍然坚持要成为无政府主义者: 您已经在源集中声明了,为什么不还要添加并且呢?您可以将它们添加到相同的源集,也可以根

  • 问题内容: 我有以下Java代码,其中我试图将ArrayList复制到另一个ArrayList。 我希望“列表”数组采用以下格式: 但是从上面的代码中,“ list”数组输出看起来像这样: 我想您可能已经注意到了差异。我无法达到预期格式的结果。请建议我任何解决方案!提前致谢!! 问题答案: 然后,你需要的: 请注意,已更改为。在Java命名约定中,变量以小写字母开头。类以大写字母开头。

  • 问题内容: 我想使用Java将文件从一个目录复制到另一个目录(子目录)。我有一个包含文本文件的目录dir。我遍历dir中的前20个文件,并想将它们复制到dir目录中的另一个目录中,该目录是我在迭代之前创建的。在代码中,我想将(代表第ith个文本文件或审阅)复制到。我怎样才能做到这一点?似乎没有这样的功能(或者我找不到)。谢谢。 问题答案: 目前,这应该可以解决你的问题 从类阿帕奇公地IO库,因为1

  • 我正在使用QT,我无法找到如何将文件从一个目录复制到另一个目录?我怎样才能做到这一点?

  • 问题内容: 我有一个复杂的gradle脚本,该脚本封装了围绕将多个netbeans项目构建和部署到许多环境的功能。 该脚本可以很好地运行,但是从本质上来说,它是通过六个包含项目和环境信息的地图进行配置的。 我想将任务抽象到另一个文件中,以便可以在一个简单的构建文件中简单地定义地图,然后从另一个文件中导入任务。这样,我可以对多个项目使用相同的核心任务,并使用一组简单的地图来配置这些项目。 谁能告诉我

  • 问题内容: 将整个目录内容复制到Java或groovy中的另一个目录的方法? 问题答案: 将整个目录复制到保存文件日期的新位置。此方法将指定的目录及其所有子目录和文件复制到指定的目的地。目标是目录的新位置和名称。 如果目标目录不存在,则会创建该目录。如果目标目录确实存在,则此方法将源与目标合并,并且源优先。 为此,这是示例代码