Java 应用程序引擎P12 AccessControlException

Java 应用程序引擎P12 AccessControlException,java,google-app-engine,credentials,accesscontrolexception,Java,Google App Engine,Credentials,Accesscontrolexception,我正在尝试读取应用程序引擎(谷歌)上的P12键 它们的密钥位于WEB-INF目录中 目前我有以下代码: Credential credential = new GoogleCredential.Builder() .setTransport(httpTransport) .setJsonFactory(jsonFactory) .setServiceAccountId(ACCOUNT_ID_PROPE

我正在尝试读取应用程序引擎(谷歌)上的P12键 它们的密钥位于WEB-INF目录中

目前我有以下代码:

Credential credential = new GoogleCredential.Builder()
                .setTransport(httpTransport)
                .setJsonFactory(jsonFactory)
                .setServiceAccountId(ACCOUNT_ID_PROPERTY)
                .setServiceAccountPrivateKeyFromP12File(
                        new File("/WEB-INF/key.p12"))
                .setServiceAccountScopes(scopes).build();
但它给了我这个错误:

java.security.AccessControlException: access denied ("java.io.FilePermission" "\WEB-INF\key.p12" "read")
有没有办法解决这个问题


谢谢

请从路径中删除正斜杠。提供
新文件(“WEB-INF/key.p12”)
应该可以通过

哇,如果这解决了它(罗明你通常是对的),那么原始异常和它的消息是严重误导的,它实际上是一个路径不存在的错误。然后我想知道我们中的一个人在哪里可以报告这个错误。实际上,由于使用了一个文件类,它采用了绝对路径,因此它给出了错误。我认为另一种避免这种情况的方法是使用InputStream=context.getResourceAsStream(“/WEB-INF/key.p12”);应该可以,但我不确定该方法是否会接受这种数据类型。查看当前问题和文件错误:谢谢,我确实提交并跟踪AppEngine错误报告。我想问的是关于GoogleCredential.Builder()的bug报告是否应该转到AppEngine或其他地方,或者这是关于File()的。我同意你的getResourceAsStream建议。我相信这是关于File()的。很公平。那么文件异常是有意义的,它是AppEngine运行时说的“不允许任何人和我一起做文件!”,而不仅仅是一个特定的路径。您最好更正您的答案以使用getResourceAsStream。