@SpringBootTest-无法加载applicationcontext

时间:2018-07-17 10:19:40

标签: spring-boot spring-boot-test spring-junit springjunit4classrunner

测试类:

@RunWith(SpringRunner.class)
@SpringBootTest
public class FileInterfaceTest {
 @Test
 public void contextLoads() {
 }

}

应用程序:

AppConfig:

      @Configuration
      @ImportResource({ "classpath:process-flows.xml" })
      public class AppConfig {
               }

具有Bootstraploader类。

错误:

       java.lang.IllegalStateException: Failed to load ApplicationContext
       Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [file.properties] cannot be opened because it does not exist

资源来源:

  src/main/resources
          ---process-flow.xml
          --- process.yml
  src/main/resources/env/cconfig
          --- file.properties

2 个答案:

答案 0 :(得分:0)

您的文件夹结构包含一个错字:src/main/resources/env/cconfig必须为src/main/resources/env/config

根据Spring Externalized Configuration中的定义,SpringApplication从以下位置的application.properties文件中加载属性,并将它们添加到Spring Environment中:

  • 当前目录的/config子目录
  • 当前目录
  • 类路径/config
  • classpath根

答案 1 :(得分:0)

除了“ cconfig”文件夹名称(不确定这是否是拼写错误)之外,我还看到您的@ImportResource被提及为classpath:process-flows.xml,但是您的资源文件夹中有一个名为process-flow.xml的文件

如果这也不是错字,请通过将process-flow.xml重命名为process-flows.xml并重试来添加“ s”