无法在 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 应用程序