我的Java应用程序中有一个类,该类读取位于 src / main / resources 中的资源文件夹。因此,在该类中,我将资源文件夹指定为:
public static final String RES_LOCATION = "./src/main/resources";
程序运行正常。但是,当我制作一个jar并将其用作另一个项目的依赖项时,上述类由于找不到资源文件夹而失败。
有解决方案吗?
答案 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/