我的java应用程序体系结构有问题。我想提供一个用Spring Boot生成的简单.jar文件。在运行.jar之后,我需要迭代显示在另一个文件夹中的文件。这是我的目录的层次结构:
在此处输入图像描述
- 我用.bat或sh启动我的.jar,用java-jar myApp.jar
- 我必须迭代myApp/files中存在的所有文件
这看起来很简单,但我找不到方法!我尝试了很多在这里找到的东西,但都不起作用!
我尝试过这个,但有一个nullPointer。。。
File jarFile = new File(myMainClass.class.getProtectionDomain().getCodeSource().getLocation().toURI());
String jarLocation = jarFile.getPath();
你能帮我试一下吗!
谢谢!
编辑你的.bat文件,像这样开始进入你的myApp文件夹
@echo off
#do stuff
cd %myApp_folder%
java -jar myapp.jar
你可以通过这样的相对路径解析你的文件夹:
File confFolder = new File("conf");
File filesFolder = new File("files");