java - 将文件从 Gradle 父目录加载到 Java 测试中

标签 java gradle classpath

我有一个多模块 Gradle 5.4.1 项目。文件夹结构如下所示:

root
    build.gradle
    settings.gradle
    - conf-folder/config.conf
    - module-a/ (a Java submodule)
    - module-b/ (a Java submodule)

module-a 中,我有一个 JUnit 测试,需要读取 conf-folder/config.conf。我尝试过 this.getClass().getClassLoader().getResourceAsStream("conf-folder/config.conf"); ,它(毫不奇怪)不能用作 conf-folder 不在 module-a 内,那么如何访问该文件?

最佳答案

您可以编辑 module-a 的 build.gradle 文件

println("rootDir=$rootDir")
sourceSets.test.resources.srcDir file("$rootDir/conf-folder")

并将资源检索为

System.out.printf("res=%s%n", this.getClass().getResource("/config.conf"));

关于java - 将文件从 Gradle 父目录加载到 Java 测试中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58506387/

相关文章:

java - 在 Tomcat 中使用由另一个应用程序创建的 JNDI 数据源

spring-mvc - 如何在没有xml的情况下配置thymeleaf-extras-springsecurity4?

java - 如何找到 jni.h?

java - 如何在 Java 中对原语执行相当于引用传递的操作

java - 从解析器创建抽象树问题

maven - Gradle/Maven项目fork提供了原始 Artifact (仅下载fork)

java - 尽管targetCompatibility已为1.7,但与jdk8编译器存在jdk版本兼容性问题

sql - ant sql任务类路径问题

classpath - 使用 'classpath:' 从 Jython 中的类路径加载资源

java - Swing:GUI 不显示我的组件