Aracılığıyla paylaş


Hızlı Başlangıç: Azure Uygulaması Hizmetinde Java uygulaması oluşturma

Azure App Service, yüksek oranda ölçeklenebilir, otomatik güncellenen web uygulama barındırma hizmeti sağlar. Bu hızlı başlangıçta Azure App Service Web Apps için Maven Eklentisi'ni kullanarak Azure App Service'teki linux Tomcat sunucusuna java web uygulaması dağıtacaksınız.

Maven tercih ettiğiniz geliştirme aracı değilse Java geliştiricileri için benzer makalelere göz atın:

Önkoşullar

  • Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

  • Azure hizmetleriyle çalışmak için tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk olan Azure Cloud Shell'i kullanarak bu hızlı başlangıçtaki komutları çalıştırın. Cloud Shell'i kullanmak için:

    1. Aşağıdaki Cloud Shell'i Başlat düğmesini seçin veya tarayıcınızda Cloud Shell'i https://shell.azure.com açmaya gidin.

    2. Gerekirse Azure'da oturum açın ve Cloud Shell'in Bash ortamında olduğunuzdan emin olun.

    3. Kod bloğunda Kopyala'yı seçin, kodu Cloud Shell'e yapıştırın ve çalıştırın.

Java uygulaması oluşturma

Adlı helloworldyeni bir uygulama oluşturmak için Cloud Shell'de aşağıdaki Maven komutunu çalıştırın:

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

Ardından komutunu çalıştırarak cd helloworldçalışma dizininizi proje klasörüne değiştirin.

Maven eklentisini yapılandırma

App Service dağıtım işlemi, Cloud Shell'den azure kimlik bilgilerinizi otomatik olarak kullanır. Maven eklentisi OAuth veya cihaz oturum açma ile kimlik doğrulaması yapar. Daha fazla bilgi için bkz. Kimlik doğrulaması.

App Service işletim sistemini, Java sürümünü ve Tomcat sürümünü ayarlayarak dağıtımı yapılandırmak için aşağıdaki Maven komutunu çalıştırın.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Yeni çalıştırma yapılandırması oluştur için Y yazın ve Enter tuşuna basın.
  2. İşletim sistemi için değer tanımla alanına Linux için 2 yazın ve Enter tuşuna basın.
  3. JavaVersion için değer tanımla alanına Java 21 için 1 yazın ve Enter tuşuna basın.
  4. webContainer değerini tanımla için Tomcat 10.1 için 1 yazın ve Enter tuşuna basın.
  5. pricingTier için değer tanımla alanına P1V2 için 3 yazın ve Enter tuşuna basın.
  6. Onayla için Y yazın ve Enter tuşuna basın.

Çıktı aşağıdaki koda benzer görünmelidir:

Please confirm webapp properties
AppName : helloworld-1745408005556
ResourceGroup : helloworld-1745408005556-rg
Region : centralus
PricingTier : P1V2
OS : Linux
Java Version: Java 21
Web server stack: Tomcat 10.1
Deploy to slot : false
Confirm (Y/N) [Y]: 
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:36 min
[INFO] Finished at: 2025-04-23T11:34:44Z
[INFO] ------------------------------------------------------------------------

Seçimlerinizi onayladıktan sonra eklenti, eklenti öğesini ve gerekli ayarları projenizin pom.xml dosyasına ekler ve bu da web uygulamanızı App Service'te çalışacak şekilde yapılandırılır.

pom.xml dosyasının ilgili bölümü aşağıdaki örneğe benzer olmalıdır.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>helloworld-1745408005556-rg</resourceGroup>
                <appName>helloworld-1745408005556</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

demo uygulaması için <appName> ve <resourceGroup>helloworld-1745408005556 ve helloworld-1745408005556-rg değerleri daha sonra kullanılır.

App Service yapılandırmalarını doğrudan pom.xml dosyanızda değiştirebilirsiniz.

Uygulamayı dağıt

pom.xml dosyasındaki tüm yapılandırmalar hazır olduğunda, Java uygulamanızı aşağıdaki tek komutla Azure'a dağıtabilirsiniz.

mvn package azure-webapp:deploy

Kullanılabilir abonelikler listesinden seçim yaptıktan sonra Maven, Azure App Service'e dağıtılır. Dağıtım tamamlandığında uygulamanız hazırdır.

Bu tanıtım için URL şöyledir http://helloworld-1745408005556.azurewebsites.net: . URL'yi yerel web tarayıcınızla açtığınızda aşağıdaki uygulamayı görmeniz gerekir:

Azure App Service'te çalışan Maven Hello World web uygulamasının ekran görüntüsü.

Tebrikler! App Service'e bir Java uygulaması dağıttınız.

Kaynakları temizle

Bu öğreticinin kaynaklarını bir Azure kaynak grubunda oluşturdunuz. Artık bunlara ihtiyacınız yoksa Cloud Shell'de aşağıdaki Azure CLI komutunu çalıştırarak kaynak grubunu ve tüm kaynaklarını silebilirsiniz.

az group delete --name helloworld-1745408005556-rg --yes

Komutun çalıştırılması biraz zaman alabilir.

Azure App Service, yüksek oranda ölçeklenebilir, otomatik güncellenen web uygulama barındırma hizmeti sağlar. Bu hızlı başlangıçta Azure App Service Web Apps için Maven Eklentisi'ni kullanarak Eklenmiş Spring Boot, Quarkus veya Tomcat sunucusuna sahip bir Java web uygulamasını App Service'e dağıtacaksınız. Daha fazla bilgi için bkz. azure-webapp-maven-plugin.

Maven tercih ettiğiniz geliştirme aracı değilse Java geliştiricileri için benzer makalelere göz atın:

Önkoşullar

  • Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

  • Azure hizmetleriyle çalışmak için tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk olan Azure Cloud Shell'i kullanarak bu hızlı başlangıçtaki komutları çalıştırın. Cloud Shell'i kullanmak için:

    1. Aşağıdaki Cloud Shell'i Başlat düğmesini seçin veya tarayıcınızda Cloud Shell'i https://shell.azure.com açmaya gidin.

    2. Gerekirse Azure'da oturum açın ve Cloud Shell'in Bash ortamında olduğunuzdan emin olun.

    3. Kod bloğunda Kopyala'yı seçin, kodu Cloud Shell'e yapıştırın ve çalıştırın.

Örnek uygulamayı alma

Uygun sekmeyi seçin ve örnek Spring Boot, Quarkus veya Embedded Tomcat web uygulamasını almak için yönergeleri izleyin.

Varsayılan Spring Boot web uygulaması şablonunu indirip ayıklayın veya aşağıdaki komutu çalıştırarak kopyalayın. Spring CLI komutunu spring boot new my-webapp çalıştırmak da web uygulamasını klonlar.

git clone https://github.com/rd-1-2022/rest-service my-webapp

Ardından komutunu çalıştırarak cd my-webappçalışma dizininizi proje klasörüne değiştirin.

Maven eklentisini yapılandırma

App Service dağıtım işlemi, Cloud Shell'den azure kimlik bilgilerinizi otomatik olarak kullanır. Maven eklentisi OAuth veya cihaz oturum açma ile kimlik doğrulaması yapar. Daha fazla bilgi için bkz. Kimlik doğrulaması.

App Service işletim sistemini ve Java sürümünü ayarlayarak dağıtımı yapılandırmak için aşağıdaki Maven komutunu çalıştırın.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Yeni çalıştırma yapılandırması oluştur için Y yazın ve Enter tuşuna basın.
  2. İşletim sistemi için değer tanımla alanına Linux için 2 yazın ve Enter tuşuna basın.
  3. JavaVersion için değer tanımla alanına Java 21 için 1 yazın ve Enter tuşuna basın.
  4. pricingTier için değer tanımla alanına P1v2 için 3 yazın ve Enter tuşuna basın.
  5. Onayla için Y yazın ve Enter tuşuna basın.

Çıktı aşağıdaki koda benzer görünmelidir:

Please confirm webapp properties
AppName : <generated-app-name>
ResourceGroup : <generated-app-name>-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java Version: Java 21
Web server stack: Java SE
Deploy to slot : false
Confirm (Y/N) [Y]: 
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  47.533 s
[INFO] Finished at: 2025-04-23T12:20:08Z
[INFO] ------------------------------------------------------------------------

Seçimlerinizi onayladıktan sonra eklenti, eklenti öğesini ve gerekli ayarları projenizin pom.xml dosyasına ekler ve bu da web uygulamanızı App Service'te çalışacak şekilde yapılandırılır.

pom.xml dosyasının ilgili bölümü aşağıdaki örneğe benzer olmalıdır.

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

<appName> ve <resourceGroup> değerleri daha sonra kullanılacaktır.

App Service yapılandırmalarını doğrudan pom.xml dosyanızda değiştirebilirsiniz.

Uygulamayı dağıt

pom.xml dosyanızda tüm yapılandırma hazır olduğunda Java uygulamanızı Azure'a dağıtabilirsiniz.

  1. Aşağıdaki komutu kullanarak JAR dosyasını oluşturun.

     mvn clean package
    

    İpucu

    Spring Boot ile mvn packageiki JAR dosyası oluşturur, ancak azure-webapp-maven-plugin otomatik olarak dağıtılacak doğru JAR dosyasını seçer.

  2. Aşağıdaki komutu kullanarak uygulamayı Azure'a dağıtın:

    mvn azure-webapp:deploy
    

    Kullanılabilir abonelikler listesinden seçim yaptıktan sonra Maven, Azure App Service'e dağıtılır. Dağıtım tamamlandığında uygulamanız hazırdır ve aşağıdaki çıkışı görürsünüz:

    [INFO] Successfully deployed the artifact to <URL>
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    
  3. Azure portalındaki Genel Bakış sayfasından uygulamanızın varsayılan etki alanını açın ve URL'ye ekleyin /greeting . Aşağıdaki uygulamayı görmeniz gerekir:

    Azure App Service'te çalışan Spring Boot Hello World web uygulamasının ekran görüntüsü.

Tebrikler! App Service'e bir Java uygulaması dağıttınız.

Kaynakları temizle

Bu öğreticinin kaynaklarını bir Azure kaynak grubunda oluşturdunuz. Artık bunlara ihtiyacınız yoksa Cloud Shell'de aşağıdaki Azure CLI komutunu çalıştırarak kaynak grubunu ve tüm kaynaklarını silebilirsiniz.

az group delete --name <resource group name>  --yes

Örneğin, komutunu çalıştırın az group delete --name quarkus-hello-azure-1690375364238-rg --yes. Bu komutun çalıştırılması biraz zaman alabilir.

Azure App Service, yüksek oranda ölçeklenebilir, otomatik güncellenen web uygulama barındırma hizmeti sağlar. Bu hızlı başlangıçta, Azure App Service'te Linux JBoss EAP sunucusuna java web uygulaması dağıtmak için Azure App Service Web Apps için Maven Eklentisi'ni kullanacaksınız.

Uyarı

App Service'te JBoss EAP artık "Kendi Lisansını Getir" (KLG) faturalamasını destekliyor. Bu, mevcut Red Hat aboneliklerine sahip müşterilerin bu lisansları Doğrudan Azure App Service'te JBoss EAP dağıtımlarına uygulamasına olanak sağlıyor. Daha fazla bilgi edinin.

Maven tercih ettiğiniz geliştirme aracı değilse Java geliştiricileri için benzer makalelere göz atın:

Önkoşullar

  • Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

  • Azure hizmetleriyle çalışmak için tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk olan Azure Cloud Shell'i kullanarak bu hızlı başlangıçtaki komutları çalıştırın. Cloud Shell'i kullanmak için:

    1. Aşağıdaki Cloud Shell'i Başlat düğmesini seçin veya tarayıcınızda Cloud Shell'i https://shell.azure.com açmaya gidin.

    2. Gerekirse Azure'da oturum açın ve Cloud Shell'in Bash ortamında olduğunuzdan emin olun.

    3. Kod bloğunda Kopyala'yı seçin, kodu Cloud Shell'e yapıştırın ve çalıştırın.

Java uygulaması oluşturma

  1. Pet Store tanıtım uygulamasını klonlayın.

    git clone https://github.com/Azure-Samples/app-service-java-quickstart
    
  2. Tamamlanmış petstore-ee7 projesinin dizinine gidin ve derleyin.

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

    Ayrık HEAD durumunda olduğunuzu belirten bir ileti görürseniz, bunu yoksayabilirsiniz. Bu hızlı başlangıçta Git işlemesi yapmazsınız, bu nedenle ayrılmış HEAD durumu uygundur.

    İpucu

    Örnek petstore-ee7 java 11 veya daha yeni bir sürüm gerektirir. Örnek booty-duke-app-service proje Java 17 gerektirir. Yüklü Java sürümünüz 17'den küçükse derlemeyi üst düzey yerine petstore-ee7 dizininden çalıştırın.

Maven eklentisini yapılandırma

App Service dağıtım işlemi, Cloud Shell'den azure kimlik bilgilerinizi otomatik olarak kullanır. Maven eklentisi OAuth veya cihaz oturum açma ile kimlik doğrulaması yapar. Daha fazla bilgi için bkz. Kimlik doğrulaması.

App Service işletim sistemini, Java sürümünü ve Jbosseap sürümünü ayarlayarak dağıtımı yapılandırmak için aşağıdaki Maven komutunu çalıştırın.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Yeni çalıştırma yapılandırması oluştur için Y yazın ve Enter tuşuna basın.
  2. İşletim sistemi için değer tanımla alanına Linux için 2 yazın ve Enter tuşuna basın.
  3. JavaVersion için değer tanımla için Java 17 için 2 yazın ve Enter tuşuna basın. Java 21'i seçerseniz Jbosseap'ı daha sonra bir seçenek olarak görmezsiniz.
  4. webContainer değerini tanımla için Jbosseap 7 için 4 yazın ve Enter tuşuna basın.
  5. pricingTier için değer tanımla içinP1v3 için 1 yazın ve Enter tuşuna basın.
  6. Onayla için Y yazın ve Enter tuşuna basın.

Çıktı aşağıdaki koda benzer görünmelidir:

Please confirm webapp properties
AppName : petstoreee7-1745409173307
ResourceGroup : petstoreee7-1745409173307-rg
Region : centralus
PricingTier : P1v3
OS : Linux
Java Version: Java 17
Web server stack: Jbosseap 4
Deploy to slot : false
Confirm (Y/N) [Y]: 
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:36 min
[INFO] Finished at: 2025-04-23T11:54:22Z
[INFO] ------------------------------------------------------------------------

Seçimlerinizi onayladıktan sonra eklenti, eklenti öğesini ve gerekli ayarları projenizin pom.xml dosyasına ekler ve bu da web uygulamanızı App Service'te çalışacak şekilde yapılandırılır.

pom.xml dosyasının ilgili bölümü aşağıdaki örneğe benzer olmalıdır.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>petstoreee7-1745409173307-rg</resourceGroup>
                <appName>petstoreee7-1745409173307</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

Demo uygulamasındaki <appName> ve <resourceGroup>, petstoreee7-1745409173307 ve petstoreee7-1745409173307-rg değerleri daha sonra kullanılır.

App Service yapılandırmalarını doğrudan pom.xml dosyanızda değiştirebilirsiniz.

Uygulamayı dağıt

pom.xml dosyanızda tüm yapılandırma hazır olduğunda, java uygulamanızı aşağıdaki tek komutla Azure'a dağıtabilirsiniz.

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

Kullanılabilir abonelikler listesinden seçim yaptıktan sonra Maven, Azure App Service'e dağıtılır. Dağıtım tamamlandığında uygulamanız hazırdır.

Bu tanıtım uygulaması için URL şeklindedir http://petstoreee7-1745409173307.azurewebsites.net. URL'yi yerel web tarayıcınızla açtığınızda aşağıdaki uygulamayı görmeniz gerekir:

Azure App Service'te çalışan Maven Hello World web uygulamasının ekran görüntüsü.

Tebrikler! App Service'e bir Java uygulaması dağıttınız.

Kaynakları temizle

Bu öğreticinin kaynaklarını bir Azure kaynak grubunda oluşturdunuz. Artık bunlara ihtiyacınız yoksa Cloud Shell'de aşağıdaki Azure CLI komutunu çalıştırarak kaynak grubunu ve tüm kaynaklarını silebilirsiniz.

az group delete --name petstoreee7-1745409173307-rg  --yes

Komutun çalıştırılması biraz zaman alabilir.