IDEA maven打成jar包后使用ClassLoader获取不到资源文件
2017-06-10 15:05
417 查看
一般在IDEA中调试maven项目的时候,获取资源可以通过以下方式来得到url或path,然后建立File对象,但如果要把maven项目打成 jar包之后再使用这种方式获取相应的资源,会报错。
报错的加载方法:
正确的加载方法:
经验:
在jar文件中查找资源和在文件系统中查找资源的方式是不一样的,尽量使用Stream流的方式操作资源文件。
报错的加载方法:
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流的方式操作资源文件。
相关文章推荐
- IDEA使用maven打包jar文件方法
- 使用Maven管理依赖JAR文件,自定义项目布局,利用ANT生成不同的发布包
- 通过字段名称动态获取资源的id(将Android工程做成jar包和资源文件)
- maven工程打包成runnable的jar包,拷贝资源文件和依赖jar包
- Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包
- Maven项目中获取classpath和资源文件的路径
- Maven 使用指南(7): 使用Maven打包资源文件
- maven工程打包成runnable的jar包,拷贝资源文件和依赖jar包
- 使用Spring Annotation注解导致jar包更新的文件扫描不到
- 使用SmartUpload上传文件时getparameter获取不到值
- 将IDEA maven项目中src源代码下的xml等资源文件编译进classes文件夹
- .NET(C#):使用IResourceReader,IResourceWriter和ResourceSet获取资源文件
- android 把activity和资源文件打包成jar包给其他项目使用
- 使用maven的maven-assembly-plugin将jar包依赖打包到一个jar文件
- 使用资源文件中资源(从资源文件中获取文字图片等)
- 使用Maven,即使存在*.lastUpdated文件也能更新jar文件的方法
- AndroidStudio 导入Maven项目作为jar文件使用
- Android进阶:打jar包获取assets中的资源 解决selector XML文件不能解析的问题
- Maven项目中获取classpath和资源文件的路径
- 使用ClassLoader加载jar文件