Java 当尝试启动我的Spring Boot应用程序时,我得到了所需的google凭据,即使我设置了这些凭据

Java 当尝试启动我的Spring Boot应用程序时,我得到了所需的google凭据,即使我设置了这些凭据,java,spring-boot,maven,intellij-idea,google-cloud-platform,Java,Spring Boot,Maven,Intellij Idea,Google Cloud Platform,现在,我有一个用Maven构建的spring启动应用程序。在IntelliJ中,我将运行它,它将给我这个错误日志。最后一个错误表示应用程序默认凭据不可用。如果在谷歌计算引擎中运行,它们是可用的。否则,必须定义指向定义凭据的文件的环境变量GOOGLE\u APPLICATION\u CREDENTIALS。但我确实有。在我的环境变量中,我有指向my CREDENTIALS.json路径的GOOGLE_APPLICATION_凭据 如果使用Intellij,则打开菜单:运行/编辑配置。在新面板的左列

现在,我有一个用Maven构建的spring启动应用程序。在IntelliJ中,我将运行它,它将给我这个错误日志。最后一个错误表示应用程序默认凭据不可用。如果在谷歌计算引擎中运行,它们是可用的。否则,必须定义指向定义凭据的文件的环境变量GOOGLE\u APPLICATION\u CREDENTIALS。但我确实有。在我的环境变量中,我有指向my CREDENTIALS.json路径的GOOGLE_APPLICATION_凭据


如果使用Intellij,则打开菜单:运行/编辑配置。在新面板的左列中,单击+添加Spring启动应用程序(如果您没有)。当您的SpringBoot应用程序位于左列时,在右边,单击配置选项卡,查找环境,展开它。查找环境变量,单击右侧的“编辑”图标,添加谷歌应用程序凭据和路径。保存并再次运行应用程序。这就行了。
如果您构建jar并使用java-jar运行,则必须导出GOOGLE\u APPLICATION\u CREDENTIALS=path/to/key.json。另一种方法:您还可以在Mac和Windows上设置系统范围的环境变量来解决此问题。

如果使用Intellij,请打开菜单:运行/编辑配置。在新面板的左列中,单击+添加Spring启动应用程序(如果您没有)。当您的SpringBoot应用程序位于左列时,在右边,单击配置选项卡,查找环境,展开它。查找环境变量,单击右侧的“编辑”图标,添加谷歌应用程序凭据和路径。保存并再次运行应用程序。这就行了。
如果您构建jar并使用java-jar运行,则必须导出GOOGLE\u APPLICATION\u CREDENTIALS=path/to/key.json。另一种方法:您还可以在Mac和Windows上设置系统范围的环境变量来解决此问题。

您也可以运行以下命令,而不是使用服务密钥文件和环境变量GOOGLE\u APPLICATION\u凭据:

gcloud auth application-default login
然后,您可以在浏览器中授予访问权限,凭据将保存在主目录中名为application_default_credentials.json的文件中


如果未设置GOOGLE_应用程序_凭据,应用程序将自动查找这些凭据。在大多数情况下,这是一种更简单的方法。

您也可以运行以下命令,而不是使用服务密钥文件和环境变量GOOGLE\u APPLICATION\u CREDENTIALS:

gcloud auth application-default login
然后,您可以在浏览器中授予访问权限,凭据将保存在主目录中名为application_default_credentials.json的文件中


如果未设置GOOGLE_应用程序_凭据,应用程序将自动查找这些凭据。在大多数情况下,这是一种更简单的方法。

您使用什么操作系统?在macOS上,IntelliJ IDEA可能看不到环境变量,请参阅。@CrazyCoder Windows 10设置环境变量后是否注销/登录?若要测试环境变量对应用程序是否可见,请尝试使用System.getenvGOOGLE\u application\u凭据手动读取环境变量,并查看它是否发出任何信息。下一个测试是通过管道将输出传输到文件构造函数,并查看应用程序是否可以访问该文件。由于各种原因,例如安全权限或路径变量中斜杠的不正确转义,这可能会失败。有时,您需要重新启动IntelliJ或计算机以考虑环境变量。在终端中,您可以测试您的变量是否设置为echo%GOOGLE\u APPLICATION\u CREDENTIALS%您使用什么操作系统?在macOS上,IntelliJ IDEA可能看不到环境变量,请参阅。@CrazyCoder Windows 10设置环境变量后是否注销/登录?若要测试环境变量对应用程序是否可见,请尝试使用System.getenvGOOGLE\u application\u凭据手动读取环境变量,并查看它是否发出任何信息。下一个测试是通过管道将输出传输到文件构造函数,并查看应用程序是否可以访问该文件。由于各种原因,例如安全权限或路径变量中斜杠的不正确转义,这可能会失败。有时,您需要重新启动IntelliJ或计算机以考虑环境变量。在终端中,您可以测试您的变量是否设置为echo%GOOGLE\u APPLICATION\u CREDENTIALS%简单方法。这确实是一个很有帮助的解决方案。感谢简单的方法。这确实是一个很有帮助的解决方案。谢谢