我正在创建一个使用Spring,Maven和AWS-SDK-Java的Java应用程序。为了使AWS SDK能够工作,我必须将AWSCredentials.properties
文件放在“MyProject / src / main / resources”文件夹中。
到目前为止一切顺利。然后我必须创建一个.war
文件。为此,我使用mvn install
命令和voilá。
现在在创建的.war
内,我想访问的文件位于“/ WEB-INF / classes /”文件夹中,我需要阅读它。
如何在战争中访问此文件以便我可以阅读其内容?我已经尝试了ServeltContext
,但到目前为止我没有尝试过任何作品!
答案 0 :(得分:2)
在代码包(war)中保留凭证通常不是一个好习惯。相反,我建议你使用IAM Roles。
这样您就可以轻松地将代码从一个AWS账户转移到另一个账户(比如开发环境到生产环境)。由于代码将被提交给许多人都可以访问的版本控制系统,因此从安全的角度来看,使用IAM角色也是好的。
答案 1 :(得分:0)
我找到了办法。我可以使用以下方式访问该文件:
InputStream inputStream =
getClass().getClassLoader().getResourceAsStream("/resources/email/file.txt");
如本讨论中所述: Reading a text file in war archive