我知道这个问题肯定已经被回答了一百万次,但我似乎在任何地方都找不到它。所以这里是:在我的 junit 测试中,我用它来访问文件 foo.txt
:
this.getClass().getResourceAsStream("/foo.txt")
这工作正常,直到我将它打包成 jar 文件。我应该如何编辑我的代码以便它在这两种情况下都能工作?
非常感谢
最佳答案
检查您的 foo.txt 是否打包在 jar 文件的根目录中。我认为这个文件可能存在于文件系统中,因此当您从 IDE 运行代码时它可以工作,但由于某种原因它不在 jar 中。
可能的原因是如果您使用 ant 脚本创建 jar 并将包含模式配置为 *.class。
关于java代码片段在打包成jar之前和之后读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4276529/