Java:如何在可运行的 Jar 文件中打包和访问资源?

Posted

技术标签:

【中文标题】Java:如何在可运行的 Jar 文件中打包和访问资源?【英文标题】:Java: How to package and access resources inside a runnable Jar file? 【发布时间】:2012-02-21 17:11:36 【问题描述】:

我有一个带有资源文件夹的 Java 控制台应用程序。它工作正常,但是当我想将我的代码导出到可运行的 Jar 文件(使用 Eclipse)时,导出的 Jar 找不到文件(它们在构建路径中)并给出 Filenotfound 异常。

当我解压导出的 Jar 文件时,我可以看到文件在根文件夹中,所以我猜我的代码有问题。

BufferedReader srcFile = new BufferedReader(new FileReader("resources/"+filename));
String line = srcFile.readLine();

我尝试使用

URL url= ClassLoader.getSystemResource(filename);
filename=url.tostring();        

但没有运气。

【问题讨论】:

【参考方案1】:

如果您想读入类路径中的资源,请使用getResourceAsStream(String) (docs)。

【讨论】:

@iPhoneDeveloper ***.com/questions/5200187/…

以上是关于Java:如何在可运行的 Jar 文件中打包和访问资源?的主要内容,如果未能解决你的问题,请参考以下文章

无法在可执行 jar 中运行的 java 项目中找到文件

在可执行 jar 中访问 derby 数据库

如何在可执行文件中包含带有 pyinstaller 的特定 .jar 文件?

Java如何将dll文件打包到jar中?

java打包成jar文件后还是不能双击运行

如何在 EAR 中打包属性文件和 JAR?