【Java】打包前后资源读取问题
有一个项目,根目录下有三个文件夹bin,lib,src我们不讨论bin和lib,在src下面有文件夹resources,code
在resources文件夹下面是资源文件,在code下是代码。如果要读取resources文件夹下的文件title,
在打jar包之前:
用到的相对路径是"./resources/title"
在打好jar包后:
运行的时候,相对路径是"/resources/title"
所以在打包前运行的程序正常,而打包后相同的程序总是会报FileNotFoundException
上面的路径用ClassLoader装载与new File找到文件好像原理相同。
至于再详细的细节我也没有弄太懂,如果想把java程序打包成jar运行的话,那就要注意这些问题{:301_972:}
血的教训!!!! 在idea里面直接copy相对路径就行了 别自己打打错就有异常 不是有getResource这个方法嘛 可以直接获取到的 也可以读 但是写就不好说了 我试了怎么写都提示找不到这个路径 FileNotFoundException 就是路径问题呀,打包前也用绝对路径试试。或者你自己打印下打包后读取路径的拼接,看最终路径是个什么鬼 获取类的类加载器
之后getResoure 相对路径
页:
[1]