我正在尝试在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.properties
oauth_tokens_file_path=classpath:/zoho-oauthtokens.properties
oauth_tokens_file_path=/zoho-oauthtokens.properties
oauth_tokens_file_path=zoho-oauthtokens.properties
并将其放在我项目的根文件夹中之后:oauth_tokens_file_path=/zoho-oauthtokens.properties
oauth_tokens_file_path=zoho-oauthtokens.properties
最好,尼尔斯
编辑:
它尝试了更多选择:../../../zoho-oauthtokens.properties
./zoho-oauthtokens.properties
/BOOT-INF/classes/zoho-oauthtokens.properties
BOOT-INF/classes/zoho-oauthtokens.properties
另外,在Maven构建之后,我还检查了jar文件。这是相关文件所在的位置:BOOT-INF/classes/de/xxx/xxx/Application.class
BOOT-INF/classes/zoho-oauthtokens.properties
BOOT-INF/classes/oauth_configuration.properties
最佳答案
你有没有尝试过
oauth_tokens_file_path=classpath*:zoho-oauthtokens.properties
由于它在另一个 jar 里。同样,我不确定如何在代码中加载zoho-oauthtokens.properties。值得一试。