我正在尝试在docker容器中运行java maven(spring boot)项目以访问zoho api。

为了进行身份验证,我需要一个文件zoho-oauthtokens.properties,该文件位于src / main / resources中,并且从另一个名为oauth_configuration.properties的属性文件中进行引用,如下所示:oauth_tokens_file_path=src/main/resources/zoho-oauthtokens.properties
只要我在eclipse中将应用程序作为spring应用程序运行,一切都可以正常运行,但是只要在docker容器中运行它,我就会得到:com.zoho.crm.library.exception.ZCRMException com.zoho.oauth.common.ZohoOAuthException. Caused by : com.zoho.oauth.common.ZohoOAuthException. Caused by : java.io.FileNotFoundException: src/main/resources/zoho-oauthtokens.properties (No such file or directory)
那么,如何正确引用资源文件,使其在docker容器中运行时也能找到?任何的想法?

我试过了:
oauth_tokens_file_path=src/main/resources/zoho-oauthtokens.propertiesoauth_tokens_file_path=classpath:/zoho-oauthtokens.propertiesoauth_tokens_file_path=/zoho-oauthtokens.propertiesoauth_tokens_file_path=zoho-oauthtokens.properties
并将其放在我项目的根文件夹中之后:oauth_tokens_file_path=/zoho-oauthtokens.propertiesoauth_tokens_file_path=zoho-oauthtokens.properties
最好,尼尔斯

编辑:
它尝试了更多选择:
../../../zoho-oauthtokens.properties./zoho-oauthtokens.properties/BOOT-INF/classes/zoho-oauthtokens.propertiesBOOT-INF/classes/zoho-oauthtokens.properties
另外,在Maven构建之后,我还检查了jar文件。这是相关文件所在的位置:
BOOT-INF/classes/de/xxx/xxx/Application.classBOOT-INF/classes/zoho-oauthtokens.propertiesBOOT-INF/classes/oauth_configuration.properties

最佳答案

你有没有尝试过

oauth_tokens_file_path=classpath*:zoho-oauthtokens.properties

由于它在另一个 jar 里。同样,我不确定如何在代码中加载zoho-oauthtokens.properties。值得一试。

07-26 06:16