问题现象:
写了一个工具用来批量解析xml文件,并将check结果放到swing里面显示,在idea里面运行的好好的,但是打成jar包后,运行提示找不到资源文件。
问题解决:
如图所示,一开始以为是cmd中编码格式的问题,就chcp改成utf-8,GBK
发现都不行,然后就Google一顿搜索,大家的问题都是工程内部resource定位不到的问题,解决方法是getResourceAsStream。跟我这外部资源文件找不到不一样。
然后就开始对比IDE和cmd控制台的环境差异,发现cmd窗口打印资源文件路径多了个'+'
号,然后就想到了执行jar包的时候加上编码方法
java -Dfile.encoding=utf-8 -jar xxx.jar
ps:不是什么大问题,希望遇到类似问题的同学排查问题的时候看下这个编码问题。