Inicio rápido: Creación de una aplicación de Java en Azure App Service
Artículo
En esta guía de inicio rápido se muestra cómo usar el complemento de Maven para Azure App Service Web Apps para implementar una aplicación web de Java en un servidor Tomcat de Linux en Azure App Service. App Service proporciona un servicio de hospedaje de aplicaciones web muy escalable y con aplicación de revisiones en modo automático. Use las pestañas para cambiar entre Tomcat, JBoss o las instrucciones del servidor insertado (Java SE).
Si Maven no es su herramienta de desarrollo preferida, consulte nuestros tutoriales análogos para desarrolladores de Java:
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
Opción
Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Enter para ejecutar el código o comando.
2. Creación de una aplicación Java
Ejecute el siguiente comando de Maven en el símbolo del sistema de Cloud Shell para crear una aplicación denominada helloworld:
A continuación, cambie el directorio de trabajo a la carpeta del proyecto:
cd helloworld
3. Configuración del complemento Maven
El proceso de implementación en Azure App Service usa sus credenciales de Azure desde la CLI de Azure automáticamente. El complemento Maven se autentica con OAuth o el inicio de sesión del dispositivo si la CLI de Azure no está instalada localmente. Para más información, consulte Autenticación con los complementos de Maven.
Ejecute el siguiente comando de Maven para configurar la implementación. Este comando le ayuda a configurar el sistema operativo de App Service, la versión de Java y la versión de Tomcat.
En Crear nueva configuración de ejecución, escriba Y y, a continuación, presione Entrar.
En Definir valor para el sistema operativo, escriba 1 para Windows o 2 para Linux y, a continuación, presione Entrar.
En Definir valor para javaVersion, escriba 1 para Java 17 y, a continuación, presione Entrar.
En Definir valor para webContainer, escriba 1 para Tomcat 10.0 y, a continuación, presione Entrar.
En Definir valor para pricingTier, escriba 3 para P1v2 y, a continuación, presione Entrar.
En Confirmar, escriba Y y, a continuación, presione Entrar.
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] ------------------------------------------------------------------------
Una vez que haya confirmado las opciones, el complemento agregará el elemento del complemento anterior y la configuración necesaria al archivo pom.xml del proyecto que configura la aplicación web para que se ejecute en Azure App Service.
La parte pertinente del archivo pom.xml debe ser similar al ejemplo siguiente.
Las configuraciones de App Service se pueden modificar directamente en el archivo pom.xml. Algunas configuraciones comunes se enumeran en la tabla siguiente:
Propiedad
Obligatorio
Descripción
Versión
<schemaVersion>
false
Especifique la versión del esquema de configuración. Los valores admitidos son: v1, v2.
1.5.2
<subscriptionId>
false
Especifique el identificador de suscripción.
0.1.0+
<resourceGroup>
true
Grupo de recursos de Azure para la aplicación web.
0.1.0+
<appName>
true
El nombre de la aplicación web.
0.1.0+
<region>
false
Especifica la región para hospedar la aplicación web; el valor predeterminado es centralus. Todas las regiones válidas en la sección Regiones admitidas.
0.1.0+
<pricingTier>
false
El plan de tarifa de la aplicación web. El valor predeterminado es P1V2 para cargas de trabajo de producción, mientras que B2 es el mínimo recomendado para desarrollo y pruebas de Java. Para más información, consulte Precios de App Service
0.1.0+
<runtime>
false
Configuración del entorno en tiempo de ejecución. Para obtener más información, consulte Detalles de configuración.
Para obtener la lista completa de configuraciones, consulte la documentación de referencia del complemento. Todos los complementos de Azure Maven comparten un conjunto común de configuraciones. Para ver estas configuraciones, consulte Configuraciones comunes. Para conocer las configuraciones específicas de App Service, consulte Aplicación web de Azure: Detalles de configuración.
Tenga cuidado con los valores de <appName> y <resourceGroup> (helloworld-1690440759246 y helloworld-1690440759246-rg en la demostración). Usará estos valores más adelante.
4. Implementación de la aplicación
Con toda la configuración lista en el archivo pom.xml, puede implementar la aplicación de Java en Azure con un solo comando.
mvn package azure-webapp:deploy
Una vez finalizada la implementación, la aplicación está lista en http://<appName>.azurewebsites.net/ (http://helloworld-1690440759246.azurewebsites.net en la demostración). Abra la dirección URL con un explorador web local; debería ver
¡Enhorabuena! Ha implementado su primera aplicación Java en App Service.
5 - Limpieza de los recursos
En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no va a necesitar estos recursos en el futuro, elimine el grupo de recursos del portal, para lo que debe ejecutar el siguiente comando en Cloud Shell:
az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes
Este comando puede tardar varios segundos en ejecutarse.
En esta guía de inicio rápido se muestra cómo usar el complemento de Maven para Azure App Service Web Apps para implementar una aplicación web de Java en un servidor insertado en Azure App Service. App Service proporciona un servicio de hospedaje de aplicaciones web muy escalable y con aplicación de revisiones en modo automático. Use las pestañas para cambiar entre Tomcat, JBoss o las instrucciones del servidor insertado (Java SE).
En este inicio rápido se implementa una aplicación de Spring Boot, Tomcat insertado o Quarkus usando el complemento azure-webapp-maven-plugin.
Nota
App Service puede hospedar aplicaciones de Spring. En el caso de las aplicaciones de Spring que requieren todos los servicios de Spring, pruebe Azure Spring Apps en su lugar.
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
Opción
Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Intro para ejecutar el código o comando.
Cambie el directorio de trabajo a la carpeta del proyecto:
cd quarkus-hello-azure
3. Configuración del complemento Maven
El proceso de implementación en Azure App Service usa sus credenciales de Azure desde la CLI de Azure automáticamente. El complemento Maven se autentica con OAuth o el inicio de sesión del dispositivo si la CLI de Azure no está instalada localmente. Para más información, consulte Autenticación con los complementos de Maven.
Ejecute el siguiente comando de Maven para configurar la implementación. Este comando le ayuda a configurar el sistema operativo de App Service, la versión de Java y la versión de Tomcat.
En Crear nueva configuración de ejecución, escriba Y y, a continuación, presione Entrar.
En Definir valor para el sistema operativo, escriba 2 para Linux y, a continuación, presione Entrar.
En Definir valor para javaVersion, escriba 1 para Java 17 y, a continuación, presione Entrar.
En Definir valor para pricingTier, escriba 3 para P1v2 y, a continuación, presione Entrar.
En Confirmar, escriba Y y, a continuación, presione Entrar.
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] ------------------------------------------------------------------------
Después de confirmar las opciones, el complemento agrega el elemento de complemento anterior y la configuración necesaria al archivo pom.xml del proyecto que configura la aplicación web para que se ejecute en Azure App Service.
La parte pertinente del archivo pom.xml debe ser similar al ejemplo siguiente.
Las configuraciones de App Service se pueden modificar directamente en el archivo pom.xml. Algunas configuraciones comunes se enumeran en la tabla siguiente:
Propiedad
Obligatorio
Descripción
Versión
<schemaVersion>
false
Especifique la versión del esquema de configuración. Los valores admitidos son: v1, v2.
1.5.2
<subscriptionId>
false
Especifique el identificador de suscripción.
0.1.0+
<resourceGroup>
true
Grupo de recursos de Azure para la aplicación web.
0.1.0+
<appName>
true
El nombre de la aplicación web.
0.1.0+
<region>
false
Especifica la región para hospedar la aplicación web; el valor predeterminado es centralus. Todas las regiones válidas en la sección Regiones admitidas.
0.1.0+
<pricingTier>
false
El plan de tarifa de la aplicación web. El valor predeterminado es P1V2 para cargas de trabajo de producción, mientras que B2 es el mínimo recomendado para desarrollo y pruebas de Java. Para más información, consulte Precios de App Service
0.1.0+
<runtime>
false
Configuración del entorno en tiempo de ejecución. Para obtener más información, consulte Detalles de configuración.
Para obtener la lista completa de configuraciones, consulte la documentación de referencia del complemento. Todos los complementos de Azure Maven comparten un conjunto común de configuraciones. Para ver estas configuraciones, consulte Configuraciones comunes. Para conocer las configuraciones específicas de App Service, consulte Aplicación web de Azure: Detalles de configuración.
Tenga cuidado con los valores de <appName> y <resourceGroup>. Usará estos valores más adelante.
4. Implementación de la aplicación
Con toda la configuración lista en el archivo pom.xml, puede implementar la aplicación de Java en Azure con un solo comando.
Compile el archivo JAR mediante el siguiente comando:
Para hacer que la aplicación se pueda implementar usando azure-webapp-maven-plugin, y que se ejecute en Azure App Service, las muestras configuran el objetivo package como se indica a continuación:
Compilación de un único archivo JAR uber, que contiene todo lo que la aplicación necesita para ejecutarse.
Creación de un JAR ejecutable especificando la clase Tomcat como clase de inicio.
Remplazo del artefacto original con el JAR uber para asegurar que el paso de implementación implementa el archivo correcto.
Sugerencia
Tanto Quarkus como Spring Boot producen dos archivos JAR con mvn clean package, pero azure-webapp-maven-plugin elige el archivo JAR correcto para implementarlo automáticamente.
quarkus.package.type=uber-jar indica a Maven que genere un Uber-Jar, que incluya todas las dependencias del archivo JAR.
%prod.quarkus.http.port=80 indica a Quarkus que use el puerto 80 para el entorno de producción en tiempo de ejecución, que es el puerto predeterminado que usa el contenedor de Java de Linux. Si lo desea, puede cambiar el número de puerto del contenedor de Java con la configuración de la aplicación WEBSITES_PORT.
Puede configurar estas propiedades por otros medios, aunque aquí se agregan al comando mvn package para simplificar.
Implemente en Azure con el comando siguiente:
mvn azure-webapp:deploy
Si la implementación se realiza correctamente, verá la siguiente salida:
[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] ------------------------------------------------------------------------
Una vez finalizada la implementación, la aplicación está lista en http://<appName>.azurewebsites.net/. Abra la dirección URL http://<appName>.azurewebsites.net/greeting con el explorador web local (anote la ruta de acceso /greeting) y debería ver:
Una vez finalizada la implementación, la aplicación está lista en http://<appName>.azurewebsites.net/. Abra la dirección URL con el explorador web local y debería ver lo siguiente:
Una vez finalizada la implementación, la aplicación está lista en http://<appName>.azurewebsites.net/. Abra la dirección URL con el explorador web local y debería ver lo siguiente:
Felicidades. Ha implementado su primera aplicación Java en App Service.
5 - Limpieza de los recursos
En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no va a necesitar estos recursos en el futuro, elimine el grupo de recursos del portal, para lo que debe ejecutar el siguiente comando en Cloud Shell:
az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes
Este comando puede tardar un par de minutos en ejecutarse.
En esta guía de inicio rápido se muestra cómo usar el complemento de Maven para Azure App Service Web Apps para implementar una aplicación web de Java en un servidor JBoss EAP de Linux en Azure App Service. App Service proporciona un servicio de hospedaje de aplicaciones web muy escalable y con aplicación de revisiones en modo automático. Use las pestañas para cambiar entre Tomcat, JBoss o las instrucciones del servidor insertado (Java SE).
Si Maven no es su herramienta de desarrollo preferida, consulte nuestros tutoriales análogos para desarrolladores de Java:
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
Opción
Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Enter para ejecutar el código o comando.
2. Creación de una aplicación Java
Clone la aplicación de demostración Pet Store (Tienda para mascotas).
Cambie el directorio al proyecto de tienda de mascotas completado y créelo.
Sugerencia
El ejemplo petstore-ee7 requiere Java 11 o posterior. El proyecto de ejemplo booty-duke-app-service requiere Java 17. Si la versión instalada de Java es inferior a 17, ejecute la compilación desde el directorio petstore-ee7, en lugar de en el nivel superior.
cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install
Si ve un mensaje acerca de estar en estado HEAD desasociado, este mensaje es seguro de omitir. Dado que no realizará ninguna confirmación de Git en este inicio rápido, el estado HEAD desasociado es adecuado.
3. Configuración del complemento Maven
El proceso de implementación en Azure App Service usa sus credenciales de Azure desde la CLI de Azure automáticamente. El complemento Maven se autentica con OAuth o el inicio de sesión del dispositivo si la CLI de Azure no está instalada localmente. Para más información, consulte Autenticación con los complementos de Maven.
Ejecute el siguiente comando de Maven para configurar la implementación. Este comando le ayuda a configurar el sistema operativo de App Service, la versión de Java y la versión de Tomcat.
En Crear nueva configuración de ejecución, escriba Y y, a continuación, presione Entrar.
En Definir valor para el sistema operativo, escriba 2 para Linux y, a continuación, presione Entrar.
En Definir valor para javaVersion, escriba 2 para Java 11 y, a continuación, presione Entrar.
Para la opción webContainer, escriba 4 para Jbosseap 7 y, a continuación, presione Entrar.
En Definir valor para pricingTier, escriba 1 para P1v3 y, a continuación, presione Entrar.
En Confirmar, escriba Y y, a continuación, presione Entrar.
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] ------------------------------------------------------------------------
Una vez que haya confirmado las opciones, el complemento agregará el elemento del complemento anterior y la configuración necesaria al archivo pom.xml del proyecto que configura la aplicación web para que se ejecute en Azure App Service.
La parte pertinente del archivo pom.xml debe ser similar al ejemplo siguiente.
Las configuraciones de App Service se pueden modificar directamente en el archivo pom.xml. Algunas configuraciones comunes se enumeran en la tabla siguiente:
Propiedad
Obligatorio
Descripción
Versión
<schemaVersion>
false
Especifique la versión del esquema de configuración. Los valores admitidos son: v1, v2.
1.5.2
<subscriptionId>
false
Especifique el identificador de suscripción.
0.1.0+
<resourceGroup>
true
Grupo de recursos de Azure para la aplicación web.
0.1.0+
<appName>
true
El nombre de la aplicación web.
0.1.0+
<region>
false
Especifica la región para hospedar la aplicación web; el valor predeterminado es centralus. Todas las regiones válidas en la sección Regiones admitidas.
0.1.0+
<pricingTier>
false
El plan de tarifa de la aplicación web. El valor predeterminado es P1V2 para cargas de trabajo de producción, mientras que B2 es el mínimo recomendado para desarrollo y pruebas de Java. Para más información, consulte Precios de App Service
0.1.0+
<runtime>
false
Configuración del entorno en tiempo de ejecución. Para obtener más información, consulte Detalles de configuración.
Para obtener la lista completa de configuraciones, consulte la documentación de referencia del complemento. Todos los complementos de Azure Maven comparten un conjunto común de configuraciones. Para ver estas configuraciones, consulte Configuraciones comunes. Para conocer las configuraciones específicas de App Service, consulte Aplicación web de Azure: Detalles de configuración.
Tenga cuidado con los valores de <appName> y <resourceGroup> (petstoreee7-1690443003536 y petstoreee7-1690443003536-rg en la demostración). Usará estos valores más adelante.
4. Implementación de la aplicación
Con toda la configuración lista en el archivo pom.xml, puede implementar la aplicación de Java en Azure con un solo comando.
# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests
Una vez finalizada la implementación, la aplicación está lista en http://<appName>.azurewebsites.net/ (http://petstoreee7-1690443003536.azurewebsites.net en la demostración). Abra la dirección URL con un explorador web local; debería ver
¡Enhorabuena! Ha implementado su primera aplicación Java en App Service.
5 - Limpieza de los recursos
En los pasos anteriores, creó recursos de Azure en un grupo de recursos. Si no va a necesitar estos recursos en el futuro, elimine el grupo de recursos del portal, para lo que debe ejecutar el siguiente comando en Cloud Shell:
az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes
Este comando puede tardar varios segundos en ejecutarse.
Cree soluciones de un extremo a otro en Microsoft Azure para crear Azure Functions, implementar y administrar aplicaciones web, desarrollar soluciones que usen Azure Storage, etc.
Aprenda a poner en funcionamiento una aplicación Java en Linux controlada por datos en Azure App Service, con conexión a MongoDB que se ejecuta en Azure Cosmos DB.
Obtenga información sobre cómo poner en funcionamiento una aplicación Linux Tomcat controlada por datos en Azure App Service, con conexión a MySQL que se ejecute en Azure.
Hospede sitios web, aplicaciones web, API RESTful y back-ends móviles en Azure App Service. Busque inicios rápidos y tutoriales que le ayuden a sacar el máximo partido a App Service.
Aprenda a implementar aplicaciones Tomcat, JBoss o Java SE para que se ejecuten en Azure App Service y realice tareas comunes, como establecer versiones de Java y configurar el registro.