IDEA maven打成jar包后使用ClassLoader获取不到资源文件

来源:互联网 发布:阿里云身份证识别demo 编辑:程序博客网 时间:2024/06/17 06:28

一般在IDEA中调试maven项目的时候,获取资源可以通过以下方式来得到url或path,然后建立File对象,但如果要把maven项目打成 jar包之后再使用这种方式获取相应的资源,会报错。
报错的加载方法:

XXX.calss.getResource(path)XXX.calss.getClassLoader().getResource(path)//报错//java.io.FileNotFoundException: file:\E:\Workspace\weather\target\weather-1.0-SNAPSHOT.jar!\com\cx\weather\citiesInside.json (文件名、目录名或卷标语法不正确。)

正确的加载方法:

XXX.class.getResourceAsStream(path)XXX.calss.getClassLoader().getResourceAsStream(path)

经验:
在jar文件中查找资源和在文件系统中查找资源的方式是不一样的,尽量使用Stream流的方式操作资源文件。

原创粉丝点击