从 JAR 加载资源
访问 JAR 存档中嵌入的资源时,开发人员通常会遇到 IDE 期间获取的资源路径之间的差异执行以及通过 JAR 运行应用程序时。在 IDE 的上下文中,直接从文件系统访问资源,而在 JAR 环境中,路径会用存档的前缀(例如“jar:/root/app.jar!/”)来装饰。
要解决此问题并保持一致的资源访问机制,请注意以下建议:
利用 getResourceAsStream
避免使用 FileInputStream 或类似方法加载资源的诱惑。相反,利用 getResourceAsStream() 方法检索资源作为输入流,可以方便地从中读取数据。
避免直接文件系统访问
如果您代码依赖于将资源作为存储在文件系统中的单个文件进行访问,避免将这些资源打包在 JAR 文件中。考虑另一种安排,例如将它们维护为单独的文件。
考虑临时文件提取
作为最后的手段,您可能会探索涉及以下步骤的黑客解决方案:
虽然这种方法可能有效,但其随意性表明应谨慎使用。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3