【发布时间】:2020-06-13 19:01:35
【问题描述】:
我有一个项目使用 src/main/resources*/input* 中的文件并在 src/main/resources*/output* 中生成文件。
我经常用
System.getProperty("user.dir") + "/src/main/resources"
我的问题是它不是动态的。当我使用我的 IDE 时它工作正常,但是当我将我的项目构建为 .jar 文件时,我最终不得不将 src/main/resources 添加到 jar 所在的根目录......这可能很糟糕。
我尝试使用以下返回空指针异常的方法
this.getClass().getResource("input").getPath().toString()
有人可以提供一种动态方式来访问 src/main/resources 中我需要的这些目录以在 IDE 和 .jar 中工作的动态方式?
【问题讨论】:
-
参见
Class#getResource(String)的文档,它解释了使用绝对资源名称和相对资源名称。请记住,资源不是文件,不应像这样访问。