在JAR中找不到资源文件

时间:2019-08-28 06:03:37

标签: java jar meta-inf

我的Java应用程序中有一个类,该类读取位于 src / main / resources 中的资源文件夹。因此,在该类中,我将资源文件夹指定为:

public static final String RES_LOCATION = "./src/main/resources";

程序运行正常。但是,当我制作一个jar并将其用作另一个项目的依赖项时,上述类由于找不到资源文件夹而失败。

有解决方案吗?

3 个答案:

答案 0 :(得分:3)

您需要从该目录中读取特定文件作为类路径资源,而不是java.io.File

getClass().getResourceAsStream("relative/class/path/to/resource");

答案 1 :(得分:0)

您指定了错误的资源路径,您需要像资源一样加载资源 “公共静态最终字符串RES_LOCATION =“ resources”“,因为src / main将不存在。

答案 2 :(得分:0)

./src/main/resources与项目的结构有关,并且在将代码打包到.jar文件中时是不同的。两种结构都非常不同,并且可能会影响您访问文件的方式。

访问资源中文件的最佳实践可以在以下页面找到:https://www.mkyong.com/java/java-read-a-file-from-resources-folder/