Apache Maven es una herramienta de compilación automática para Java.
App Engine proporciona un complemento de Maven que puedes usar para compilar e implementar tu app en App Engine. El complemento no es compatible con los proyectos de archivos de aplicaciones empresariales (EAR).
Antes de comenzar
Determina si Maven está instalado y qué versión tienes mediante la ejecución del siguiente comando:
mvn -v
Si Maven está instalado, se mostrará una string larga de información que comienza con
Apache Maven
y sigue con un número de versión como3.9.1
.Si no tienes instalado Maven 3.9.1 o una versión posterior, haz lo siguiente:
Si aún no lo hiciste, sigue los pasos que se indican aquí para descargar la CLI de gcloud, crear tu proyecto de Google Cloud y, además, inicializar tu aplicación de App Engine.
Instala el componente
app-engine-java
de la CLI de gcloud:gcloud components install app-engine-java
Agrega el complemento de Maven de App Engine
Para usar el complemento de Maven de App Engine, agrega las siguientes líneas a la sección plugins
en el archivo pom.xml
del proyecto:
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.8.1</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.56.v20240826</version>
</plugin>
</plugins>
Usa el complemento de Jetty Maven para probar tu app de forma local
Durante la fase de desarrollo, puedes ejecutar y probar tu app en cualquier momento en el servidor de desarrollo si invocas el complemento Jetty Maven.
Para ejecutar tu aplicación en el servidor de desarrollo:
Si aún no lo hiciste, compila tu app:
mvn package
Invoca a Maven para cambiar el directorio al nivel superior del proyecto (por ejemplo,
myapp
) y ejecutar la app:mvn jetty:run
Espera a que el servidor se inicie y usa el navegador para visitar
http://localhost:8080/
y acceder a la app.Presiona Control+C para cerrar la app y el servidor de desarrollo.
Compila e implementa la app
Después de agregar el complemento de Maven de App Engine al archivo pom.xml
del proyecto, puedes usar el siguiente comando a fin de compilar la app:
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud. Si tu archivo pom.xml
ya especifica tu ID del proyecto, no necesitas incluir la propiedad -Dapp.deploy.projectId
en el comando que ejecutas.
El objetivo package
compila y empaqueta la app. El objetivo appengine:deploy
hace lo siguiente:
Genera un ID de versión único para la versión nueva de la app.
Implementa la versión nueva en App Engine.
Enruta todo el tráfico a la versión nueva.
Cambia los valores predeterminados de la implementación
Puedes cambiar el comportamiento predeterminado de la implementación si pasas los parámetros en el comando appengine:deploy
. Por ejemplo, con el siguiente comando, se implementa el servicio que se define en tu archivo pom.xml
en un proyecto específico de Google Cloud, se asigna un ID de versión personalizado al servicio y se desactiva el enrutamiento de tráfico automático para la versión nueva:
mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False
También puedes usar el comando appengine:deploy
para implementar archivos de configuración, como cron.yaml
, dispatch.yaml
y index.yaml
.
Para obtener más información, consulta la referencia de appengine:deploy
.
¿Qué sigue?
- Revisa la muestra del complemento de Maven de App Engine para JDK 21.
- Explora el código del complemento y, también, informa problemas en GitHub.
- Aprende a especificar parámetros para tareas en Objetivos y parámetros de Maven para App Engine.