在服务器中找不到Spring引导资源文件但在Eclipse中工作

时间:2017-09-05 19:19:11

标签: java spring-mvc spring-boot

我在spring boot app的resources目录中有一个文件。我能够在日食中正确加载它。但是当我构建这个项目并在服务器上运行时,它会抛出java.nio.file.NoSuchFileException

什么是错的

我有以下课程

class TestDataLoader{
@Value("${service.filename}")
private String filename;

@Inject
private FileLoader fileLoader;

public void loadResource(){
List<String> names = fileLoader.loadResource(filename);
}
}

这是我的FileLoader类

public class FileLoader{
public List<String> loadResource(String filename) {
   try (Stream<String> stream = Files.lines(Paths.get(filename))) {
      // process the data
    } catch (IOException e) {
        LOGGER.error(e);
    }       
}
}

我的application.yml文件如下所示

service:
  filename: src/main/Myfile.txt

1 个答案:

答案 0 :(得分:1)

提示1 :您应该将资源放在src / main / resources

运行服务器时,您的文件位于根目录中。你可以通过以下方块来做好:

echo "JAVA_HOME=/etc/alternatives/jre" >> ~/.profile
source ~/.profile
echo $JAVA_HOME

提示2 :您应该使用ClassPathResource。见下文:

service:
  filename: Myfile.txt

注意:我没有运行上面的代码...