在WAR中访问AWS凭证文件

时间:2014-03-02 18:42:45

标签: java spring maven amazon-web-services

我正在创建一个使用Spring,Maven和AWS-SDK-Java的Java应用程序。为了使AWS SDK能够工作,我必须将AWSCredentials.properties文件放在“MyProject / src / main / resources”文件夹中。

到目前为止一切顺利。然后我必须创建一个.war文件。为此,我使用mvn install命令和voilá。

现在在创建的.war内,我想访问的文件位于“/ WEB-INF / classes /”文件夹中,我需要阅读它。

如何在战争中访问此文件以便我可以阅读其内容?我已经尝试了ServeltContext,但到目前为止我没有尝试过任何作品!

2 个答案:

答案 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