為了嘗試學習并將戰爭檔案發布到 azure Web 應用程式,我正在使用 Azure Cli 并發布戰爭檔案。我遵循了微軟檔案中的以下文章。

當我檢查 kudu 中的檔案時。我確實看到檔案已更新,但名稱已更改為 app.war 而不是 cli 命令中提供的名稱。
當我訪問該站點時,它給了我 404。在上傳戰爭檔案之前,當我訪問該站點時,它是一個空頁面,沒有別的,但現在我收到錯誤。
我的應用服務在 Linux 上使用 Java 17,而 Tomcat 是服務器。

以下是我上傳戰爭檔案后的可用檔案

更新:雖然我訪問了 kudu,但它不像往常那樣,因為我沒有看到除錯控制臺。

uj5u.com熱心網友回復:
當我檢查 kudu 中的檔案時。我確實看到檔案已更新,但名稱已更改為 app.war 而不是 cli 命令中提供的名稱。
uj5u.com熱心網友回復:
如果有人試圖將 Spring Boot 部署為 WAR 檔案,則以下內容適用于將 Spring Boot 應用程式部署為 WAR。但是,CLI 命令仍然是通用的。另請注意,由于不再使用嵌入式 Tomcat 服務器,因此必須部署到 Java Tomcat,而不是 Java SE。
首先,在我的 pom 檔案中,我驗證了以下內容:
<packaging>war</packaging>和
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope><!-- THIS LINE MUST BE PRESENT --> </dependency>在我的代碼中,我擴展了 SpringBootInitializer:
public class DwBootJarApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(DwBootJarApplication.class); } public static void main(String[] args) { SpringApplication.run(DwBootJarApplication.class, args); }最后,從專案根目錄中的命令列,為 Azure 配置 pom:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.2.3:config
并部署:
mvn 包 azure-webapp:deploy
這不是唯一的部署方式,但這是我覺得最方便的方式,并且“官方”推薦用于活動的開發階段。
最后一點,將 Java / Tomcat 次要版本“固定”到特定版本而不是自動更新被認為是最佳實踐。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482061.html
