我试图从文件夹加载文件,但如果在jar中运行,则java代码无法加载文件夹
在开发中,代码工作正常,在服务器(java -jar myapp)中它不起作用(spring boot application)
Path path = Paths.get("/home/toto/reports")
File dir = new File(path.toAbsolutePath().toUri());
log.info(path + " is directory : " + dir.isDirectory());
开发模式下为true,服务器上为false
帮助
编辑: 我想从文件夹中加载所有xlsx文件" reports" 首先,这个文件夹位于"资源"夹
URL resource = getClass().getClassLoader().getResource("reports");
Path path = Paths.get(resource.toURI());
Files.walk(path)
.forEach(filePath -> {
// excel file
Workbook workbook = new XSSFWorkbook(Files.newInputStream(excelFilePath));
...
});
在开发(intelliJ)上运行良好,但在服务器(jar)上运行
所以我将文件夹移到jar外面 以前的代码适用于开发,但不适用于服务器