读取Jar包中的资源问题探究】的更多相关文章

最近在写一个可执行jar的程序,程序中包含了2个资源包,一个是images,一个是files.问题来了,在Eclipse里开发的时候,当用File类来获取files下面的文件时,没有任何问题.但是当程序导出为Runnable Jar时,运行程序时抛出异常,File not found.我们来一探究竟. 首先是我的工程目录结构: 程序中访问images下的图片代码: setIconImage(new ImageIcon(this.getClass().getResource( "/images/i…
Jar中的Java程序如何读取Jar包中的资源文件 比如项目的组织结构如下(以idea中的项目为例): |-ProjectName |-.idea/  //这个目录是idea中项目的属性文件夹 |-src |-com.zzl   //自己开发的类在这个包下 |-config.xml //自己的配置文件 |-target //这个目录是项目编译之后产生的输出文件夹 |-classes  //自己写的类编译之后产生的class文件,会存放到这个文件夹下 |-com/zzl   //自己写的类编译之后…
写作业的时候要输出一个record.dat文件到jar包的同级目录,但是不知道怎么定位jar包的路径.百度到的方法不很靠谱,所以在这里记录一下. 一:使用类路径 String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); 或者 String path = this.getClass().getProtectionDomain().getCodeSource().getLo…
转载自: https://www.oschina.net/question/2272552_2269641 https://stackoverflow.com/questions/25869428/classpath-resource-not-found-when-running-as-jar 几个实现方式: String data = ""; ClassPathResource cpr = new ClassPathResource("static/file.txt&quo…
1.首先看jar中的文件位置 2.在web工程中引用该jar 并且在springmvc文件中配置路径 如果有多个路径可用逗号隔开 3.在web工程找jsp页面如何引用 这样就可以了 关于jar中的资源互相引用问题 比如 在jar包中的js文件中引用了jar中的一张图片 如果实在单项目中,我们都会引用,就是相对路劲来引用 但是在jar中,引用的方式是----------------------------- ----------------springmvc配置的静态资源的路径 这是项目中相对路径…
随手写了一个java小工具,maven打包成功后,发现工具总是读不到打在jar包中的文件信息,要读取的文件位于 /src/main/resources 目录下,打包成功后,文件就在jar包中根目录下,一直以为是路径错误,之后用this.getClass().getClassLoader().getResource("").getPath();发现路径是xxx.jar!/com/demo/..形式,路径总是获取不对. 之后试了一下BufferedReader in = new Buffe…
在NetBeans中,执行Clean and Build便可得到jar文件 若要在jar中添加资源,先用压缩软件打开jar,然后将资源拖进当前归档文件即可 使用Class.getResource(String)便可引用jar中的资源 例如 但在IDE中执行Run后,却无法引用资源,这是因为Class.getResource(String)返回了null 要解决此问题,仅需将资源复制到build\classes目录中…
jar包启动后读取相对路径文件报异常: Caused by: java.io.FileNotFoundException: class path resource [***.***] cannot be resolved to absolute .***.jar/BOOT-INF/classes!/***.** 采用流的方式读取即可解决 // /template/template.html是resource下面的文件 String template=readfile("/template/tem…
http://my.oschina.net/sub/blog/184074 今天碰到一个怪问题: 原本跑的好好的代码,打成 jar 包就不能运行了. 问题出在,代码中有一段自动扫描 classpath 下面的指定 package 的 class ClassLoader loader = Thread.currentThread().getContextClassLoader(); String packageDirName = packageName.replace('.', '/'); Enu…
前言 SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码中读取资源文件(比如word文档.导出模版等),本地开发时可以正常读取 ,但是,当我们打成jar包发布到服务器后,再次执行程序时就会抛出找不到文件的异常. 背景 这个问题是在一次使用freemarker模版引擎导出word报告时发现的.大概说一下docx导出java实现思路:导出word的文档格式为docx,事先准备好一个排好版的docx文档作为模版,读取解析该模版,将其中的静态资源…