我正在使用连接到Amazon S3的代码,并且想在代码之外提供秘密和访问密钥(因为在将它保存在Git中时,我不想保存它)。
我试图使用VM Options来提供这些参数并能够从我的代码中读取它们。我正在使用Java。
答案 0 :(得分:1)
您可以在调用-D
开关的java命令时为VM提供属性。
java -cp [myClassPath] -D[mypropName]=[myvalue] [myMainClass]
然后在您的Java应用程序中,您可以按以下方式访问属性:
public String retreiveMyProperty() {
return System.getProperty("[mypropName]");
}
希望获得帮助。
答案 1 :(得分:0)
我这样做了:
从VM选项读取的这段代码:
curl -X POST http://localhost:8080/auth/realms/${realm}/protocol/openid-connect/token -H "Authorization: Bearer ${access_token}" --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket" --data "audience={resource_server_client_id}" --data "permission=Resource#Scope"
这就是我从VM Options中提供它的方式:
private List<String> getAmazonParams() {
List<String> s3CredentialsList = new ArrayList<>();
s3CredentialsList.add(System.getProperty("access_key"));
s3CredentialsList.add(System.getProperty("secret_key"));
return s3CredentialsList;
}