当你把一个java写的程序打包为jar的时候,请务必注意你读取资源文件的方式。
一般我们为了方便读取资源文件,在一个类中定义一个基本路径
base_path=Constants.class.getResource("/").getPath();
变量,在其他的类中想读取资源文件的时候,直接用这个变量加上资源的相对路径,这样当然在ide里面运行是没有任何问题的,但是一旦打包成jar后就无法运行,原因是无法读取资源文件,因为jar的url的规则是这样的:file:/C:/fat.jar!images/img.jpg是这样的,这个和File的路径规则不一样,所以我们new 一个File当然不会成功了哦,在网上找了许久也没找到什么好点的办法,唯一知道的就是
ClassName.class .getResourceAsStream("/images/trayIcon.jpg")这样具体到某一个文件上去,得到一个流。那么这样在jar中是没任何问题的。
这个问题困扰了我很久,以前也遇到过,昨晚又遇到了,终于找到原因所在了,杯具++啊
大牛们看到了,千万别笑话我,如果有更好的办法请告知小弟,万分感谢!
发觉java真的不适合开发桌面应用程序啊。
分享到:
相关推荐
主要介绍了详解Java读取Jar中资源文件及实现代码的相关资料,在开发java项目的时候,经常会用到jar包,这里就说下如何读取,需要的朋友可以参考下
作为Android程序开发,我们自己在实际项目的开发过程中,经常会遇到我们打的Jar包需要动态的读取主项目工程中的资源文件,那么有没有一种好的方式,能够让Jar包非常方便的读取与展示主工程中的资源文件呢?...
本资源包换所有读取分析excel的jar包和我写的用这些包读取分析excel文件的两个.java文件。
主要介绍了解决SpringBoot jar包中的文件读取问题实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了springboot项目打成jar包后无法获取static下的静态资源文件的问题分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
利用swt中的一个获取图片的类SwingResourceManager 来解决将程序打为使用java打包之后,生成的jar包中图片找不着的。这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成...
用于获取apk文件资源文件 将需要反编译的APK文件放到该目录下,打开命令行界面(运行-cmd) ,定位到apktool文件夹,输入以下命令:java -jar apktool.jar decode test.apk (命令中test.apk指的是要反编译的apk...
该资源包含了一个动态加载jar文件中图片的简单demo,简单易懂。
jacob.jar资源下载 “JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries。” 首先下载Jacob包,JDK1.5以上需要使用Jacob1.9版本(JDK1.6尚未测试),与先前的Jacob1.7差别...
里面包含了1.18.2之前每个1.x中的最高版本 可以用于做资源包、数据包,以及文件夹的分层 还可以获取MC对应版本的材质,在手机上都可以。 全版本jar文件从1.20的最高版本开始,每过5个1.x就会发布一次,拭目以待吧 ...
这是一个springboot+maven写的demo,主要演示springboot项目通过maven插件,将依赖与配置文件打包到jar包外部,实现灵活的项目管理.仅供参考学习
本资源工具包是自行封装使用Jmeter读取和写入Excel文件的方法,里面包含相关jar包和脚本范例,可通过此方法读取接口测试用例执行,并把执行结果写入到excel中。同时支持xls和xlsx两种文件格式,希望对大家有所帮助。
Hyperic-Sigar是一个收集系统各项底层信息的工具集.他有如下特点: 1. 收集信息全面 2.跨平台,支持多数平台 3.提供的API接口全面
用于获取视频时间长度,专属JAR包,解压rar文件,即可获得资源
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。...The commons-validator提供了一个简单的,可扩展的框架来在一个XML文件中定义校验器 (校验方法)和校验规则。支持校验规则的和错误消息的国际化。
资源中包括jar包查看工具,和源码获取工具,对于想要反编译apk的人来说,是一个有用的资源文件。文件中的工具本人实际使用过,很好用,下载解压后就可使用了。
一个类,用于获取指定路径下文件的各种指纹信息,已经打成jar包,导入后很方便调用,上传以备日后使用。 里面只有5个公共静态方法: public static String getFileMD5(String filename);/*获取指定路径下文件的MD5...
本篇文章主要介绍了spring boot加载第三方jar包的配置文件的方法,详细的介绍了spring boot jar包配置文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
资源加载器即使是从JAR内部或JAR外部进行加载,Resource Loader也为您提供了加载resource文件的功能。 资源加载器还支持通过SharedLibraryLoader加载共享库。安装这是在基于Gradle的项目中安装库的方法。 // Top-...
主要介绍了SpringBoot如何读取war包jar包和Resource资源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下