Snabbstart: Skapa en Java-app i Azure App Service

I den här snabbstarten använder du Plugin-programmet Maven för Azure App Service Web Apps för att distribuera ett Java-webbprogram till en Linux Tomcat-server i Azure App Service. App Service tillhandahåller en mycket skalbar webbappsvärdtjänst med självkorrigering. Använd flikarna för att växla mellan instruktioner för Tomcat, JBoss eller inbäddad server (Java SE).

Screenshot of Maven Hello World web app running in Azure App Service.

Om Maven inte är det utvecklingsverktyg du föredrar kan du läsa våra liknande självstudier för Java-utvecklare:

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

1 – Använda Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

2 – Skapa en Java-app

Kör följande Maven-kommando i Cloud Shell-prompten för att skapa en ny app med namnet helloworld:

mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"

Ändra sedan arbetskatalogen till projektmappen:

cd helloworld

3 – Konfigurera Plugin-programmet Maven

Distributionsprocessen till Azure App Service använder dina Azure-autentiseringsuppgifter från Azure CLI automatiskt. Om Azure CLI inte installeras lokalt autentiseras Maven-plugin-programmet med OAuth eller enhetsinloggning. Mer information finns i autentisering med Maven-plugin-program.

Kör maven-kommandot som visas bredvid för att konfigurera distributionen. Det här kommandot hjälper dig att konfigurera App Service-operativsystemet, Java-versionen och Tomcat-versionen.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. För Skapa ny körningskonfiguration skriver du Y och sedan Retur.

  2. För Definiera värde för operativsystem skriver du 1 för Windows eller 2 för Linux och sedan Retur.

  3. För Definiera värde för javaVersion skriver du 3 för Java 17 och sedan Retur.

  4. För Definiera värde för webContainer skriver du 1 för Tomcat 10.0 och sedan Retur.

  5. För Definiera värde för pricingTier skriver du 9 för P1v2 och sedan Retur.

  6. För Bekräfta skriver du Y och sedan Retur.

    Please confirm webapp properties
    AppName : helloworld-1690440759246
    ResourceGroup : helloworld-1690440759246-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 17
    Web server stack: Tomcat 10.0
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  13.069 s
    [INFO] Finished at: 2023-07-27T06:52:48Z
    [INFO] ------------------------------------------------------------------------
    

När du har bekräftat dina val lägger plugin-programmet till ovanstående plugin-element och nödvändiga inställningar i filen pom.xml för projektet som konfigurerar din webbapp för att köras i Azure App Service.

Den relevanta delen av pom.xml filen bör se ut ungefär som i följande exempel.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Du kan ändra konfigurationerna för App Service direkt i din pom.xml. Några vanliga konfigurationer visas i följande tabell:

Property Obligatoriskt Beskrivning Version:
<schemaVersion> falskt Ange versionen av konfigurationsschemat. Värden som stöds är: v1, v2. 1.5.2
<subscriptionId> falskt Ange prenumerations-ID. 0.1.0+
<resourceGroup> true Azure-resursgrupp för din webbapp. 0.1.0+
<appName> true Namnet på webbappen. 0.1.0+
<region> falskt Anger vilken region som ska vara värd för webbappen. standardvärdet är centralus. Alla giltiga regioner i avsnittet Regioner som stöds. 0.1.0+
<pricingTier> falskt Prisnivån för din webbapp. Standardvärdet är P1v2 för produktionsarbetsbelastningen, medan B2 är det rekommenderade minimivärdet för Java dev/test. Mer information finns i Priser för App Service 0.1.0+
<runtime> falskt Konfigurationen av körningsmiljön. Mer information finns i Konfigurationsinformation. 0.1.0+
<deployment> falskt Distributionskonfigurationen. Mer information finns i Konfigurationsinformation. 0.1.0+

En fullständig lista över konfigurationer finns i referensdokumentationen för plugin-programmet. Alla Azure Maven-plugin-program delar en gemensam uppsättning konfigurationer. Dessa konfigurationer finns i Vanliga konfigurationer. Konfigurationer som är specifika för App Service finns i Azure Web App: Konfigurationsinformation.

Var försiktig med värdena <appName> för och <resourceGroup> (helloworld-1690440759246 och helloworld-1690440759246-rg därmed i demonstrationen). De används senare.

4 – Distribuera appen

Med all konfiguration klar i din pom.xml-fil kan du distribuera din Java-app till Azure med ett enda kommando.

mvn package azure-webapp:deploy

När distributionen är klar är programmet redo ( http://<appName>.azurewebsites.net/http://helloworld-1690440759246.azurewebsites.net i demonstrationen). Öppna url:en med din lokala webbläsare. Du bör se

Screenshot of Maven Hello World web app running in Azure App Service.

Grattis! Du har distribuerat din första Java-app till App Service.

5 – Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte behöver resurserna i framtiden tar du bort resursgruppen från portalen eller genom att köra följande kommando i Cloud Shell:

az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes

Det kan några minuter att köra kommandot.

I den här snabbstarten använder du Plugin-programmet Maven för Azure App Service Web Apps för att distribuera en Java-webbapp med en inbäddad server till Azure App Service. App Service tillhandahåller en mycket skalbar webbappsvärdtjänst med självkorrigering. Använd flikarna för att växla mellan instruktioner för Tomcat, JBoss eller inbäddad server (Java SE).

Snabbstarten distribuerar antingen en Spring Boot-app, inbäddad Tomcat eller Quarkus-app med plugin-programmet azure-webapp-maven-plugin .

Kommentar

App Service kan vara värd för Spring-appar. För Spring-appar som kräver alla Spring-tjänster kan du prova Azure Spring Apps i stället.

Om Maven inte är det utvecklingsverktyg du föredrar kan du läsa våra liknande självstudier för Java-utvecklare:

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

1 – Använda Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

2 – Hämta exempelappen

  1. Ladda ned och extrahera standardmallen för Spring Boot-webbprogram. Den här lagringsplatsen klonas åt dig när du kör Spring CLI-kommandotspring boot new my-webapp.

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. Ändra arbetskatalogen till projektmappen:

    cd my-webapp
    

3 – Konfigurera Plugin-programmet Maven

Distributionsprocessen till Azure App Service använder dina Azure-autentiseringsuppgifter från Azure CLI automatiskt. Om Azure CLI inte installeras lokalt autentiseras Maven-plugin-programmet med OAuth eller enhetsinloggning. Mer information finns i autentisering med Maven-plugin-program.

Kör maven-kommandot som visas bredvid för att konfigurera distributionen. Det här kommandot hjälper dig att konfigurera App Service-operativsystemet, Java-versionen och Tomcat-versionen.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
  1. För Skapa ny körningskonfiguration skriver du Y och sedan Retur.

  2. För Definiera värde för operativsystem skriver du 2 för Linux och sedan Retur.

  3. För Definiera värde för javaVersion skriver du 1 för Java 17 och sedan Retur.

  4. För Definiera värde för pricingTier skriver du 9 för P1v2 och sedan Retur.

  5. För Bekräfta skriver du Y och sedan Retur.

    Please confirm webapp properties
    AppName : <generated-app-name>
    ResourceGroup : <generated-app-name>-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 17
    Web server stack: Java SE
    Deploy to slot : false
    Confirm (Y/N) [Y]: y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  8.139 s
    [INFO] Finished at: 2023-07-26T12:42:48Z
    [INFO] ------------------------------------------------------------------------
    

När du har bekräftat dina val lägger plugin-programmet till ovanstående plugin-element och nödvändiga inställningar i projektets pom.xml fil som konfigurerar webbappen så att den körs i Azure App Service.

Den relevanta delen av pom.xml filen bör se ut ungefär som i följande exempel.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Du kan ändra konfigurationerna för App Service direkt i din pom.xml. Några vanliga konfigurationer visas i följande tabell:

Property Obligatoriskt Beskrivning Version:
<schemaVersion> falskt Ange versionen av konfigurationsschemat. Värden som stöds är: v1, v2. 1.5.2
<subscriptionId> falskt Ange prenumerations-ID. 0.1.0+
<resourceGroup> true Azure-resursgrupp för din webbapp. 0.1.0+
<appName> true Namnet på webbappen. 0.1.0+
<region> falskt Anger vilken region som ska vara värd för webbappen. standardvärdet är centralus. Alla giltiga regioner i avsnittet Regioner som stöds. 0.1.0+
<pricingTier> falskt Prisnivån för din webbapp. Standardvärdet är P1v2 för produktionsarbetsbelastningen, medan B2 är det rekommenderade minimivärdet för Java dev/test. Mer information finns i Priser för App Service 0.1.0+
<runtime> falskt Konfigurationen av körningsmiljön. Mer information finns i Konfigurationsinformation. 0.1.0+
<deployment> falskt Distributionskonfigurationen. Mer information finns i Konfigurationsinformation. 0.1.0+

En fullständig lista över konfigurationer finns i referensdokumentationen för plugin-programmet. Alla Azure Maven-plugin-program delar en gemensam uppsättning konfigurationer. Dessa konfigurationer finns i Vanliga konfigurationer. Konfigurationer som är specifika för App Service finns i Azure Web App: Konfigurationsinformation.

Var försiktig med värdena <appName> för och <resourceGroup>. De används senare.

4 – Distribuera appen

Med all konfiguration klar i din pom.xml-fil kan du distribuera din Java-app till Azure med ett enda kommando.

  1. Skapa JAR-filen med följande kommando:

    mvn clean package
    
  2. Distribuera till Azure med hjälp av följande kommando:

    mvn azure-webapp:deploy
    

    Om distributionen lyckas visas följande utdata:

    [INFO] Successfully deployed the artifact to https://<app-name>.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    

När distributionen är klar är programmet klart på http://<appName>.azurewebsites.net/. Öppna URL:en http://<appName>.azurewebsites.net/greeting med din lokala webbläsare (notera /greeting sökvägen) så bör du se:

Screenshot of Spring Boot Hello World web app running in Azure App Service.

Grattis! Du distribuerade din första Java-app till App Service.

5 – Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte behöver resurserna i framtiden tar du bort resursgruppen från portalen eller genom att köra följande kommando i Cloud Shell:

az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes

Det kan ta någon minut att köra kommandot.

I den här snabbstarten använder du Maven-pluginprogrammet för Azure App Service Web Apps för att distribuera en Java-webbapp till en Linux JBoss EAP-server i Azure App Service. App Service tillhandahåller en mycket skalbar webbappsvärdtjänst med självkorrigering. Använd flikarna för att växla mellan instruktioner för Tomcat, JBoss eller inbäddad server (Java SE).

Screenshot of Maven Hello World web app running in Azure App Service.

Om Maven inte är det utvecklingsverktyg du föredrar kan du läsa våra liknande självstudier för Java-utvecklare:

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

1 – Använda Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

2 – Skapa en Java-app

Klona demoprogrammet För husdjursarkiv.

git clone https://github.com/Azure-Samples/app-service-java-quickstart

Ändra katalogen till det slutförda djurarkivprojektet och skapa det.

Dricks

Exemplet petstore-ee7 kräver Java 11 eller senare. Exempelprojektet booty-duke-app-service kräver Java 17. Om den installerade versionen av Java är mindre än 17 kör du versionen från petstore-ee7 katalogen i stället för på den översta nivån.

cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install

Om du ser ett meddelande om att vara i frånkopplat HEAD-tillstånd är det här meddelandet säkert att ignorera. Eftersom du inte kommer att göra någon Git-incheckning i den här snabbstarten är frånkopplat HEAD-tillstånd lämpligt.

3 – Konfigurera Plugin-programmet Maven

Distributionsprocessen till Azure App Service använder dina Azure-autentiseringsuppgifter från Azure CLI automatiskt. Om Azure CLI inte installeras lokalt autentiseras Maven-plugin-programmet med OAuth eller enhetsinloggning. Mer information finns i autentisering med Maven-plugin-program.

Kör maven-kommandot som visas bredvid för att konfigurera distributionen. Det här kommandot hjälper dig att konfigurera App Service-operativsystemet, Java-versionen och Tomcat-versionen.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. För Skapa ny körningskonfiguration skriver du Y och sedan Retur.

  2. För Definiera värde för operativsystem skriver du 2 för Linux och sedan Retur.

  3. För Definiera värde för javaVersion skriver du 2 för Java 11 och sedan Retur.

  4. För webContainer-alternativet skriver du 1 för Jbosseap 7 och sedan Retur.

  5. För Definiera värde för pricingTier skriver du 1 för P1v3 och sedan Retur.

  6. För Bekräfta skriver du Y och sedan Retur.

    Please confirm webapp properties
    AppName : petstoreee7-1690443003536
    ResourceGroup : petstoreee7-1690443003536-rg
    Region : centralus
    PricingTier : P1v3
    OS : Linux
    Java Version: Java 11
    Web server stack: Jbosseap 7
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  19.914 s
    [INFO] Finished at: 2023-07-27T07:30:20Z
    [INFO] ------------------------------------------------------------------------
    

När du har bekräftat dina val lägger plugin-programmet till ovanstående plugin-element och nödvändiga inställningar i filen pom.xml för projektet som konfigurerar din webbapp för att köras i Azure App Service.

Den relevanta delen av pom.xml filen bör se ut ungefär som i följande exempel.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Du kan ändra konfigurationerna för App Service direkt i din pom.xml. Några vanliga konfigurationer visas i följande tabell:

Property Obligatoriskt Beskrivning Version:
<schemaVersion> falskt Ange versionen av konfigurationsschemat. Värden som stöds är: v1, v2. 1.5.2
<subscriptionId> falskt Ange prenumerations-ID. 0.1.0+
<resourceGroup> true Azure-resursgrupp för din webbapp. 0.1.0+
<appName> true Namnet på webbappen. 0.1.0+
<region> falskt Anger vilken region som ska vara värd för webbappen. standardvärdet är centralus. Alla giltiga regioner i avsnittet Regioner som stöds. 0.1.0+
<pricingTier> falskt Prisnivån för din webbapp. Standardvärdet är P1v2 för produktionsarbetsbelastningen, medan B2 är det rekommenderade minimivärdet för Java dev/test. Mer information finns i Priser för App Service 0.1.0+
<runtime> falskt Konfigurationen av körningsmiljön. Mer information finns i Konfigurationsinformation. 0.1.0+
<deployment> falskt Distributionskonfigurationen. Mer information finns i Konfigurationsinformation. 0.1.0+

En fullständig lista över konfigurationer finns i referensdokumentationen för plugin-programmet. Alla Azure Maven-plugin-program delar en gemensam uppsättning konfigurationer. Dessa konfigurationer finns i Vanliga konfigurationer. Konfigurationer som är specifika för App Service finns i Azure Web App: Konfigurationsinformation.

Var försiktig med värdena <appName> för och <resourceGroup> (petstoreee7-1690443003536 och petstoreee7-1690443003536-rg därmed i demonstrationen). De används senare.

4 – Distribuera appen

Med all konfiguration klar i din pom.xml-fil kan du distribuera din Java-app till Azure med ett enda kommando.

# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests

När distributionen är klar är programmet redo ( http://<appName>.azurewebsites.net/http://petstoreee7-1690443003536.azurewebsites.net i demonstrationen). Öppna url:en med din lokala webbläsare. Du bör se

Screenshot of Maven Hello World web app running in Azure App Service.

Grattis! Du har distribuerat din första Java-app till App Service.

5 – Rensa resurser

I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte behöver resurserna i framtiden tar du bort resursgruppen från portalen eller genom att köra följande kommando i Cloud Shell:

az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes

Det kan några minuter att köra kommandot.

Nästa steg