Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java从jar加载文件夹_Java_Spring_Jar_Spring Boot - Fatal编程技术网

Java从jar加载文件夹

Java从jar加载文件夹,java,spring,jar,spring-boot,Java,Spring,Jar,Spring Boot,我试图从文件夹中加载文件,但若该文件夹在jar中运行,java代码将无法加载该文件夹 在dev中,代码可以正常工作,而在服务器(java-jarmyapp)中,代码不能正常工作(springboot应用程序) 在开发模式下为True,在服务器上为false 帮助 编辑: 我想从“reports”文件夹加载所有xlsx文件 起初,该文件夹位于“资源”文件夹下的项目中 在开发(intelliJ)上运行良好,但在服务器(jar)上运行不好 所以我把文件夹移到罐子外面 以前的代码在开发中有效,但在服务器

我试图从文件夹中加载文件,但若该文件夹在jar中运行,java代码将无法加载该文件夹

在dev中,代码可以正常工作,而在服务器(java-jarmyapp)中,代码不能正常工作(springboot应用程序)

在开发模式下为True,在服务器上为false

帮助

编辑: 我想从“reports”文件夹加载所有xlsx文件 起初,该文件夹位于“资源”文件夹下的项目中

在开发(intelliJ)上运行良好,但在服务器(jar)上运行不好

所以我把文件夹移到罐子外面
以前的代码在开发中有效,但在服务器上无效

服务器上的文件路径是否完全相同?它是什么,您实际想要做什么?你想用这个文件夹做什么?如果您想从它访问资源,您可以这样做,无论是从文件系统还是从.jar文件。如果你想列出它的资源,使用Spring会变得有点棘手,但可行。我最终将所有excel文件的名称放入一个文件(在开发模式下),并逐行读取该文件以打开excel文件(在服务器模式下),该文件的路径在服务器上是否完全相同?这是什么,你真正想做什么?你想用这个文件夹做什么?如果您想从它访问资源,您可以这样做,无论是从文件系统还是从.jar文件。如果您想列出它的资源,使用Spring会变得有点棘手,但可行。我最终将所有excel文件名放入一个文件(在开发模式下),并逐行读取该文件以打开excel文件(在服务器模式下)
        Path path = Paths.get("/home/toto/reports")

        File dir = new File(path.toAbsolutePath().toUri());
        log.info(path + " is directory : " + dir.isDirectory());
 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));
                   ...
                });