繁体   English   中英

如何迭代位于运行的 .jar 文件之外的文件夹

[英]How to iterate on a folder located outside a .jar file running

我的 Java 应用程序架构有问题。 我想提供一个使用 Spring Boot 生成的简单 .jar 文件。 运行 .jar 后,我需要遍历另一个文件夹中的文件。 这是我的目录的层次结构:

在此处输入图片说明

  1. 我使用 .bat 或 sh 启动我的 .jar,使用 java -jar myApp.jar
  2. 我必须迭代 myApp/files 中存在的所有文件

看起来很简单,但我找不到办法做到这一点! 我尝试了很多在这里找到的东西,但没有任何效果!

我试过了,但有一个空指针...

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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM