我正在使用连接到 amazon S3 的代码,并且我想在代码之外提供密钥和访问密钥(因为我不想在将其保存在 Git 中时保存它)。
我正在尝试使用 VM Options 来提供这些参数并能够从我的代码中读取它们。我正在使用java。
您可以在调用指定开关的 java 命令时向 VM 提供属性-D。
java -cp [myClassPath] -D[mypropName]=[myvalue] [myMainClass]
然后在您的 java 应用程序中,您可以按如下方式访问您的属性:
public String retreiveMyProperty() {
return System.getProperty("[mypropName]");
}
希望这有帮助。
我这样做了:
从 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;
}
这就是我从 VM Options 提供它的方式:
-ea -Daccess_key=<access_key> -Dsecret_key=<secret_key>