当项目是 .jar 或 IDE 时,如何动态访问 src/main/resources 中的文件
How can i access files in src/main/resources dynamically when the project is a .jar or in IDE
我有一个项目使用在 src/main/resources*/input* 中找到的文件并在 src/main/resources*/output* 中生成文件。
我经常用
System.getProperty("user.dir") + "/src/main/resources"
我的问题是它不是动态的。当我使用我的 IDE 时它工作正常,但是当我将我的项目构建为 .jar 文件时,我最终不得不将 src/main/resources 添加到 jar 所在的根目录.....可能是坏的。
我试过使用以下 returns 空指针异常
this.getClass().getResource("input").getPath().toString()
有人可以为我提供一种动态方式来访问我需要的这些目录,这些目录位于 src/main/resources 中,可以从 IDE 和.jar?
您可以使用以下资源文件夹访问文件:
this.getClass().getResourceAsStream("/NLP/models/en-lemmatizer.bin").toString();
NLP是resource里面的一个文件夹,里面有一个models文件夹,里面有bin文件。
据我所知,您不能在 jar 中生成文件或创建新文件。
我有一个项目使用在 src/main/resources*/input* 中找到的文件并在 src/main/resources*/output* 中生成文件。
我经常用
System.getProperty("user.dir") + "/src/main/resources"
我的问题是它不是动态的。当我使用我的 IDE 时它工作正常,但是当我将我的项目构建为 .jar 文件时,我最终不得不将 src/main/resources 添加到 jar 所在的根目录.....可能是坏的。
我试过使用以下 returns 空指针异常
this.getClass().getResource("input").getPath().toString()
有人可以为我提供一种动态方式来访问我需要的这些目录,这些目录位于 src/main/resources 中,可以从 IDE 和.jar?
您可以使用以下资源文件夹访问文件:
this.getClass().getResourceAsStream("/NLP/models/en-lemmatizer.bin").toString();
NLP是resource里面的一个文件夹,里面有一个models文件夹,里面有bin文件。
据我所知,您不能在 jar 中生成文件或创建新文件。