java - 在 Java/JNLP 中加载资源的可靠方法

标签 java resources jar packaging jnlp

我正在编写一个 Java 应用程序,需要访问通过 JNLP 运行的 .jar 文件中的多个资源。

虽然该应用程序在我的开发环境(Eclipse)中工作正常,但在通过 JNLP 执行时却无法工作,显然是因为它在 jar 中找不到资源文件。我检查了资源文件,资源肯定在那里。

我目前使用的代码如下:

 someclass.getResourceAsStream("/resources/somefile.png");

访问 .jar 中可与 JNLP 配合使用的资源文件的正确方法是什么?

最佳答案

使用:this.getClass().getClassLoader().getResourceAsStream(name)
示例: myClass.getClass().getClassLoader().getResourceAsStream("resources/somefile.png")

两个提示:
1 - 使用 jar 文件中您自己的类。如果使用另一个类 - 例如对象 - 失败
2 - 名称,即资源必须不带前导“/”

关于java - 在 Java/JNLP 中加载资源的可靠方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292114/

相关文章:

java 创建用于分发的库

java - 显示 java GUI 时出现问题。它不会显示。我还是个新人,也许包类有问题或者其他什么问题

java - Android room FOREIGN KEY 约束失败,即使值相同

java - 这些说法有什么区别吗?

c# - 如何发现嵌入资源的 "path"?

java - 无法使用双击运行可执行 jar 文件

java - 更有效地从 Jar 中提取文件

java - 离线/断开连接时解决 Apache Ivy 依赖项?

java - @Transactional(readOnly=true) 与@QueryHints

ruby-on-rails - rails 4.0 中为删除操作创建 link_to 的问题