无法在 JAR 中找到资源文件

Can't locate resource file in JAR

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

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

程序运行良好。但是当我制作一个 jar 并将其用作另一个项目的依赖项时,上述 class 失败,因为它找不到资源文件夹。

有什么解决办法吗?

您指定的资源路径有误,您需要像资源一样加载资源 'public static final String RES_LOCATION = "resources"' 因为 src/main 不会出现。

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

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

./src/main/resources与你的项目结构有关,与你打包代码到.jar文件时不一样。这两种结构非常不同,它会影响您访问文件的方式。

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