如何告诉Spring从外部文件夹加载资源?

时间:2019-04-17 08:49:35

标签: java spring-boot

我正在尝试使用MyConfig.class.getResourceAsStream(/config/test.txt)在config文件夹-Spring Boot配置类中的MyProject / config中读取文本文件。

MyProject
  -config
    -test.txt
  -src
    -main
      -java
        -com
          -myproject
            -configurations
              -MyConfig

由于找不到资源,它总是返回null。而如果文件位于MyProject / src / main / resources文件夹下,则可以读取该文件。

MyProject
  -src
    -main
      -resources
        -test.txt
      -java
        -com
          -myproject
            -configurations
                -MyConfig

是否需要任何特定的配置来告诉spring-boot检查项目的整个路径?

@Configuration
@EnableAutoConfiguration
public class MyConfig {

  @Bean
  public Config config() { 
    return new Config(MyConfig.class.getResourceAsStream("/config/test.txt"); // This doesn't work. The same setup work if I have the file under resources folder.MyConfig.class.getResourceAsStream("/test.txt")
  }
  }

3 个答案:

答案 0 :(得分:0)

该方法将仅从类路径/模块路径加载。检查config文件夹是否在类路径中。

答案 1 :(得分:0)

假设您具有典型的项目结构,请尝试将test.txt文件放在src / main / resources文件夹中,以便被springboot上下文扫描。

答案 2 :(得分:0)

例如<> E:\ MyProject \ config \ test.txt