转载自: 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…
Jar中的Java程序如何读取Jar包中的资源文件 比如项目的组织结构如下(以idea中的项目为例): |-ProjectName |-.idea/  //这个目录是idea中项目的属性文件夹 |-src |-com.zzl   //自己开发的类在这个包下 |-config.xml //自己的配置文件 |-target //这个目录是项目编译之后产生的输出文件夹 |-classes  //自己写的类编译之后产生的class文件,会存放到这个文件夹下 |-com/zzl   //自己写的类编译之后…
最近在写一个可执行jar的程序,程序中包含了2个资源包,一个是images,一个是files.问题来了,在Eclipse里开发的时候,当用File类来获取files下面的文件时,没有任何问题.但是当程序导出为Runnable Jar时,运行程序时抛出异常,File not found.我们来一探究竟. 首先是我的工程目录结构: 程序中访问images下的图片代码: setIconImage(new ImageIcon(this.getClass().getResource( "/images/i…
随手写了一个java小工具,maven打包成功后,发现工具总是读不到打在jar包中的文件信息,要读取的文件位于 /src/main/resources 目录下,打包成功后,文件就在jar包中根目录下,一直以为是路径错误,之后用this.getClass().getClassLoader().getResource("").getPath();发现路径是xxx.jar!/com/demo/..形式,路径总是获取不对. 之后试了一下BufferedReader in = new Buffe…
前言 Java的跨平台功能听起来很诱人可口,号称"Write Once,Run Everywhere",实际上是"Run Once,Debug Everywh"... 在实际开发过程中还是会遇到各种各样的坑的,刚刚解决了一系列问题,特地写个文章总结一下. 使用Gradle构建Jar包 感谢万能的Gradle,极大提高了Java开发的生产力- 在Gradle中生成jar包可以使用官方的插件:application 来简单生成Jar包,同时还有多种不同的配置可以自定义,…
写作业的时候要输出一个record.dat文件到jar包的同级目录,但是不知道怎么定位jar包的路径.百度到的方法不很靠谱,所以在这里记录一下. 一:使用类路径 String path = this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath(); 或者 String path = this.getClass().getProtectionDomain().getCodeSource().getLo…
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…
一.问题由来 新项目的开发中,打包方式由war包改为了jar包的方式,这样在部署的时候更加的方便.测试环境使用pm2这个工具来管理项目的运行,停止,重启等等非常方便. 可是当测试人员在测试项目中的文件下载时,就报了一个奇怪的错误,class path resource  xxxxxx  cannot be resolved to URL because it does not exist.大意就是说 某个路径下的资源文件不存在,下载的是模板excel文件,项目中就直接把它放在resources路…
前言 SpringBoot微服务已成为业界主流,从开发到部署都非常省时省力,但是最近小明开发时遇到一个问题:在代码中读取资源文件(比如word文档.导出模版等),本地开发时可以正常读取 ,但是,当我们打成jar包发布到服务器后,再次执行程序时就会抛出找不到文件的异常. 背景 这个问题是在一次使用freemarker模版引擎导出word报告时发现的.大概说一下docx导出java实现思路:导出word的文档格式为docx,事先准备好一个排好版的docx文档作为模版,读取解析该模版,将其中的静态资源…
在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码: Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java.io.*; public class Resource { public  void getResource() throws IOException{ File fi…