从 JAR 加载资源
访问 JAR 存档中嵌入的资源时,开发人员通常会遇到 IDE 期间获取的资源路径之间的差异执行以及通过 JAR 运行应用程序时。在 IDE 的上下文中,直接从文件系统访问资源,而在 JAR 环境中,路径会用存档的前缀(例如“jar:/root/app.jar!/”)进行装饰。
要解决此问题并保持一致的资源访问机制,请注意以下建议:
利用 getResourceAsStream
避免使用 FileInputStream 或类似方法加载资源的诱惑。相反,利用 getResourceAsStream() 方法检索资源作为输入流,可以方便地从中读取数据。
避免直接文件系统访问
如果您代码依赖于将资源作为存储在文件系统中的单个文件进行访问,避免将这些资源打包在 JAR 文件中。考虑另一种安排,例如将它们维护为单独的文件。
考虑临时文件提取
作为最后的手段,您可以探索涉及以下步骤的黑客解决方案:
虽然这种方法可能有效,但其随意性表明应谨慎使用。
以上是如何一致地访问 JAR 中的嵌入资源?的详细内容。更多信息请关注PHP中文网其他相关文章!