我的 Java 应用程序中有一个类,它读取位于src/main/resources中的资源文件夹。因此,在该类中,我将资源文件夹指定为:
public static final String RES_LOCATION = "./src/main/resources";
程序运行良好。但是当我制作一个 jar 并将其用作另一个项目中的依赖项时,上面的类会失败,因为它找不到资源文件夹。
有什么解决办法吗?
您需要从该目录中读取特定文件作为类路径资源而不是java.io.File
getClass().getResourceAsStream("relative/class/path/to/resource");
您指定了错误的资源路径,您需要加载资源,例如资源 'public static final String RES_LOCATION = "resources"',因为 src/main 将不存在。
./src/main/resources
和你的项目结构有关,和你打包代码到.jar
文件的时候不一样。这两种结构非常不同,它会影响您访问文件的方式。
可以在此页面上找到访问资源中文件的最佳实践:https ://www.mkyong.com/java/java-read-a-file-from-resources-folder/