无法在 Azure 中部署 Spring Boot 应用程序

Posted

技术标签:

【中文标题】无法在 Azure 中部署 Spring Boot 应用程序【英文标题】:Unable to deploy Spring Boot application in Azure 【发布时间】:2020-04-13 13:37:04 【问题描述】:

我正在尝试在 Azure 中部署 Spring Boot 应用程序,我按照微软官方文档 https://docs.microsoft.com/en-us/azure/java/spring-framework/deploy-spring-boot-java-app-with-maven-plugin 中提到的确切步骤进行操作。但是即使在命令行中成功登录到 azure 后,我也会收到错误消息。

刷新令牌由于最长生存期而过期。令牌是 发布于 2019-11-25T00:18:57.5736076Z 和允许的最大值 此应用程序的生命周期为 08:00:00 atcom.microsoft.aad.adal4j.AdalTokenRequest.executeOAuthRequestAndProcessResponse (AdalTokenRequest.java:128) 在 com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenCommon (AuthenticationContext.java:928) 在 com.microsoft.aad.adal4j.AcquireTokenCallable.execute (AcquireTokenCallable.java:70) 在 com.microsoft.aad.adal4j.AcquireTokenCallable.execute (AcquireTokenCallable.java:38) 在 com.microsoft.aad.adal4j.AdalCallable.call (AdalCallable.java:47) 在 java.util.concurrent.FutureTask.run (FutureTask.java:264) 在 java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628) 在 java.lang.Thread.run (Thread.java:835)

【问题讨论】:

【参考方案1】:

如错误消息所示,您的令牌已过期。这里有三个建议:

    如果您使用 Azure CLI 登录,请使用“az login”刷新 令牌。 检查文件 %HOMEPATH%/.azure/azure-secret.json,这是 由 azure-maven-plugin 创建的 auth 文件,具有更高的 优先级高于 Azure CLI 身份验证文件。如果文件存在,您可以 删除文件(将使用 az login 代替)或使用“mvn”刷新文件 com.microsoft.azure:azure-maven-plugin:0.1.0:login"。 如果以上都不起作用,您仍然可以尝试使用服务原则进行身份验证。详情请见https://github.com/microsoft/azure-maven-plugins/wiki/Authentication。

【讨论】:

mvn com.microsoft.azure:azure-maven-plugin:0.1.0:login - 感谢我的工作人员 你给了我钥匙!谢谢。该插件创建一个秘密目录并删除 azure-secret.json 文件对我有用。【参考方案2】:

该错误表示您登录的用户帐户的刷新令牌已过期。

您可以使用az account clear 从 CLI 的本地缓存中清除所有订阅,然后使用 az login 重新登录。

我对其进行了测试,它在我这边运行良好。

【讨论】:

【参考方案3】:

az account clear - 清理本地缓存

Maven 部署程序 (azure-webapp:deploy) 会打开您的默认浏览器,以便您提供 Azure 凭据。提供有效凭据后,应用程序部署成功。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于无法在 Azure 中部署 Spring Boot 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure 应用服务上部署 Spring Boot jar

在 Azure 中部署 Gradle Spring Boot Rest Service 应用程序

使用 docker 和 azure 容器注册表在 azure kubernetes 中部署 Angular 和 Spring Boot 应用程序

Spring Boot速览及在Azure上的部署

Spring Boot - 无法连接 Azure MySQL 数据库

Spring Boot flash 属性未在 Azure 上发送