gpt4 book ai didi

java - 如何访问Docker容器中存储在 'src/main/resources/someFolder'中的应用程序资源文件?

转载 作者:行者123 更新时间:2023-11-30 07:46:43 24 4
gpt4 key购买 nike

我正在开发一个基于 gradle 的服务,该服务应该在 kubernetes 集群的 docker 容器中运行。在本地,我可以访问资源,一些用于 CouchDb 初始化的 json 文件。在 Docker 中构建和部署服务后,文件将无法再访问,并且出现文件未找到异常并且无法启动服务。我可以看到我的文件夹在生成的 jar 中,但我无法访问这些文件。我正在使用它,如下所示:

DesignDocument design = DesignDocumentManager.fromFile("design-documents/documents.json");

来自IBM Cloudant Java Client API .我尝试了路径的不同版本,即使用前导斜杠或项目的绝对路径。

最佳答案

API 没有 File 的替代品,File 是操作系统的 File。所以使用一个临时文件。

InputStream in = getClass().getResourceAsStream(
"/design-documents/documents.json");
Path tempPath = Files.createTempFile("desdoc-", ".json");
Files.copy(in, tempPath);
DesignDocument design = DesignDocumentManager.fromFile(tempPath.toFile());
Files.delete(tempPath);

注意 Class.getResource(AsStream) 的前导 /

关于java - 如何访问Docker容器中存储在 'src/main/resources/someFolder'中的应用程序资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50508450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com