我在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
答案 0 :(得分:1)
提示1 :您应该将资源放在src / main / resources
中运行服务器时,您的文件位于根目录中。你可以通过以下方块来做好:
echo "JAVA_HOME=/etc/alternatives/jre" >> ~/.profile
source ~/.profile
echo $JAVA_HOME
提示2 :您应该使用ClassPathResource。见下文:
service:
filename: Myfile.txt
注意:我没有运行上面的代码...