SpringBoot项目打包后如何引用resouces路径下资源

1、这是我在resousces下的静态资源
image
2、用绝对路径的方式在windows + Idea 编辑器下引用是正确的
(1)这是我的写法,我放在"D:\dakewe_code\JavaCode\SmartSliceAnalysis\Imagebrowse\src\main\resources\lib\PMIGAN_X4.pth"下:


3、但是当我把项目打成jar包,并且修改引用路径,把路径改成类路径下的方式还是引用错误,如下所示:
(1)这是jar的结构
image
(2)这是我引用类路径下资源包的写法
image

运行jar包后发现路径引用错误,说明这样引用是不行的,大佬们我该怎么做,求助!!!

看看这个:

读取Resource下文件的几种方法


// 1.通过ClassPathResource
ClassPathResource classPathResource = new ClassPathResource("excleTemplate/test.xlsx");
InputStream inputStream =classPathResource.getInputStream();

// 2.通过ContextClassLoader
InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("excleTemplate/test.xlsx");

// 3. getResourceAsStream 注意,前面加/表示绝对路径(从根目录下找),不加为相对路径(相对于这个class文件的位置)
InputStream inputStream = getClass().getResourceAsStream("/excleTemplate/test.xlsx");
// 或者使用 ClassLoader: InputStream inputStream = getClass().getClassLoader().getResourceAsStream("excleTemplate/test.xlsx");

// 4. ResourceUtils 注意,当你打jar包后,此方法失效。因为jar包内的文件无法使用系统文件路径访问
File file = ResourceUtils.getFile("classpath:excleTemplate/test.xlsx");
InputStream inputStream = new FileInputStream(file);
1 个赞