【发布时间】:2011-09-05 18:22:59
【问题描述】:
在使用 Maven 项目和 Jar 文件时,我遇到了一个严重的资源引用问题...
我将所有资源都放在一个专用文件夹 /src/main/resources 中,该文件夹是 Eclipse 中构建路径的一部分。使用
引用文件getClass().getResource("/filename.txt")
这在 Eclipse 中运行良好,但在 Jar 文件中失败 - 资源位于 jar 根目录正下方的文件夹中...
有谁知道在 Eclipse 中引用 JAR 和 (!) 中的文件的“最佳实践”?
编辑: 问题是,虽然资源实际上位于顶层文件夹“资源”中的 JAR 中,但上述方法无法找到该文件...
【问题讨论】:
-
jar 文件中使用的文件夹是什么? /资源?
-
这在 Eclipse 中工作正常,但在 Jar 文件中失败 - 资源位于 jar 根目录正下方的文件夹中...... 这正是应该发生的。问题出在哪里?
-
无论是从 IDE 还是从“JAR”运行代码,您都应该以相同的方式开发 - 即,如果您希望从 IDE 中的类路径加载资源,您应该能够加载在外部运行时也来自类路径的资源!
-
完全相同的行(当时也使用该文件)引发异常(NullPointer)-因此找不到该文件...尽管它实际上是存在的!