Java 哪个application.yml表示';测试时将使用src/main/resources和src/test/resources目录中的re
在SpringBootMaven项目中,在Java 哪个application.yml表示';测试时将使用src/main/resources和src/test/resources目录中的re,java,spring-boot,maven-3,Java,Spring Boot,Maven 3,在SpringBootMaven项目中,在src/main/resources和src/test/resources中分别有一个application.yml文件 运行测试用例时,测试似乎只使用src/test/resources目录中的文件。它不会加载两个文件并覆盖src/main/resources/application.yml中的属性。 如果src/test/resources目录中没有该文件,它将使用src/main/resources目录中的文件 spring如何引导加载这两个目录中
src/main/resources
和src/test/resources
中分别有一个application.yml
文件
运行测试用例时,测试似乎只使用src/test/resources
目录中的文件。它不会加载两个文件并覆盖src/main/resources/application.yml
中的属性。
如果src/test/resources
目录中没有该文件,它将使用src/main/resources
目录中的文件
spring如何引导加载这两个目录中的application.yml
文件?规则是什么?或者此操作依赖于什么?我在哪里可以在线查找有关此的更多信息
src/main/resource/application.yml
name: Phil(main)
sample:
name: Andy(main)
name: Phil(test)
sample:
name: Andy(test)
src/test/resource/application.yml
name: Phil(main)
sample:
name: Andy(main)
name: Phil(test)
sample:
name: Andy(test)
案例1:src/main/resource/application.yml
存在输出:你好,菲尔(梅因),安迪(梅因) 案例2:
src/main/resource/application.yml和src/test/resource/application.yml都存在
输出:你好,菲尔(测试),安迪(测试)
案例3:src/main/resource/application.yml
和src/test/resource/application.yml
都存在,并在src/test/resource/application.yml中注释掉name
输出:
错误-java.lang.IllegalArgumentException:无法解析值“${name}”中的占位符“name”
这个测试似乎没有从src/main/resource/application.yml中读取属性,所以它无法找到name
属性。Spring检测到这两个目录,并且正如您所说的,它正在根据存在和优先级确定要使用的配置。如果您想让spring使用特定的设置,您应该定义spring配置文件,它可以具有专门的设置以及扩展默认设置。我正在使用yml文件,并确保在构建应用程序时加载这些属性文件,最好在pom.xml中使用以下配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.jks</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
....
</build>
src/main/resources
**/*.物业
**/*yml先生
**/*.jks
${project.basedir}/src/test/resources
....
确保运行构建(如果需要,从头开始,比如删除.m2中的存储库文件夹-可能根本不需要),现在检查目标/类
,其中应该包含所有指定类型的文件,我在哪里可以在线找到有关此主题的加载规则(官方解释)?spring文档页面?