Depois de adicionar o plug-in Maven do App Engine baseado na CLI gcloud ao seu projeto, os seguintes objetivos Maven específicos do App Engine estão disponíveis:
| Objetivo | Descrição | 
|---|---|
| appengine:cloudSdkLogin | Define o estado global da CLI gcloud para account. | 
| appengine:deploy | Prepara e implementa uma aplicação no App Engine. | 
| appengine:deployAll | Prepara e implementa uma aplicação com todas as respetivas configurações YAML válidas simultaneamente no App Engine. | 
| appengine:deployCron | Prepara e implementa um ficheiro de configuração cron.yamlno App Engine. | 
| appengine:deployDispatch | Prepara e implementa um ficheiro de configuração dispatch.yamlno App Engine. | 
| appengine:deployDos | Prepara e implementa um ficheiro de configuração dos.yamlno App Engine. | 
| appengine:deployIndex | Prepara e implementa um ficheiro de configuração index.yamlno App Engine. | 
| appengine:deployQueue | Prepara e implementa um ficheiro de configuração queue.yamlno App Engine. | 
| appengine:help | Apresenta informações de ajuda sobre o plug-in do Maven do App Engine. | 
| appengine:run | Executa o servidor de desenvolvimento do App Engine. Quando o servidor está em execução, verifica continuamente se appengine-web.xmlfoi alterado. Se tiver, o servidor recarrega a aplicação. Não tem de parar nem reiniciar a aplicação
      devido a alterações aoappengine-web.xml. Este objetivo é suportado para os serviços incluídos antigos. | 
| appengine:stage | Gera um diretório de aplicações para implementação. | 
| appengine:start | Inicia a execução do devserver do App Engine de forma assíncrona e, em seguida, volta à linha de comandos. Quando este objetivo é executado, o comportamento é o mesmo
      que o objetivo run, exceto que o Maven continua a processar objetivos
      e sai após o servidor estar em funcionamento. Este objetivo é suportado para os serviços incluídos antigos. | 
| appengine:stop | Para um servidor de programação Web do App Engine em execução. Este objetivo é suportado para os serviços incluídos antigos. | 
Para mais informações sobre como configurar e usar o Maven, consulte o artigo Usar o Maven.
Usar parâmetros
Cada objetivo tem parâmetros associados que pode especificar no ficheiro pom.xml.
Por exemplo:
<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.8.1</version>
     <configuration>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
     </configuration>
  </plugin>
</plugins>Também pode definir parâmetros de configuração na linha de comandos, seguindo o padrão -D[USER_PROPERTY]=[PARAMETER_VALUE].
Por exemplo, para especificar um diretório para o qual preparar a sua aplicação:
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
Consulte as secções seguintes para ver uma lista dos parâmetros disponíveis para cada objetivo.
appengine:deploy
Prepara e implementa uma aplicação no App Engine.
Pode usar os seguintes parâmetros, alguns dos quais correspondem a gcloud app deploy sinalizadores de linha de comandos ou gcloud app services sinalizadores de linha de comandos:
| Parâmetro | Descrição | Propriedade do utilizador | 
|---|---|---|
| appEngineDirectory | O diretório que contém app.yamle outros ficheiros de configuração do App Engine suportados. A predefinição é${basedir}/src/main/appengine. | app.stage.appEngineDirectory | 
| artifact | A localização do arquivo JAR ou WAR a implementar. A predefinição é ${project.build.directory}/${project.build.finalName}.${project.packaging}. | app.stage.artifact | 
| bucket | O contentor do Cloud Storage usado para preparar ficheiros associados à implementação. Se este argumento não for especificado, é usado o contentor predefinido da aplicação. | app.deploy.bucket | 
| cloudSdkPath | Parâmetro opcional para configurar a localização da CLI gcloud. A predefinição é a deteção automática a partir do PATH ou da localização de instalação padrão. | cloudSdkPath | 
| deployables | Os ficheiros YAML dos serviços ou das configurações que quer implementar.
          A predefinição é o ficheiro app.yamlno diretório de preparação.
          Se não for encontrado, tenta gerar automaticamente os ficheiros de configuração necessários (comoapp.yaml) no diretório de preparação. | app.deploy.deployables | 
| dockerDirectory | O diretório que contém o Dockerfile e outros recursos do Docker.
        A predefinição é ${basedir}/src/main/docker/. | app.stage.dockerDirectory | 
| imageUrl | Implementar com uma imagem do Docker específica. ImageUrltem de ser
        um nome do Artifact Registry válido, por exemplo,docker.pkg.dev/foo,
      em quefooé o nome da imagem. | app.deploy.imageUrl | 
| projectId | O Google Cloud nome do projeto a usar para esta invocação.
          O valor predefinido é o projeto atual selecionado quando inicializa gcloud. | app.deploy.projectId | 
| promote | Promova a versão implementada para receber todo o tráfego. A predefinição é True. | app.deploy.promote | 
| server | O servidor do App Engine ao qual estabelecer ligação. Normalmente, não precisa de alterar este valor. | app.deploy.server | 
| stagingDirectory | Obrigatório. O diretório para o qual a aplicação deve ser preparada. A predefinição é ${project.build.directory}/appengine-staging. | app.stage.stagingDirectory | 
| stopPreviousVersion | Pare a versão em execução anterior quando implementar uma nova versão que recebe todo o tráfego. | app.deploy.stopPreviousVersion | 
| version | A versão da app que vai ser criada ou substituída por esta implementação. Se não especificar uma versão, é gerada uma para si. | app.deploy.version | 
appengine:help
Apresenta informações de ajuda sobre o plug-in do Maven do App Engine. Para apresentar os detalhes dos parâmetros, chame:
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
Pode usar os seguintes parâmetros:
| Parâmetro | Descrição | Propriedade do utilizador | 
|---|---|---|
| detail | Se for verdadeiro, apresenta todas as propriedades definíveis para cada objetivo. A predefinição é False. | detail | 
| goal | O nome do objetivo para o qual mostrar ajuda. Se não for especificado, todos os objetivos são apresentados. | goal | 
| indentSize | O número de espaços por nível de avanço. Deve ser um número positivo.
        A predefinição é 2. | indentSize | 
| lineLength | O comprimento máximo de uma linha de visualização. Deve ser um número positivo.
        A predefinição é 80. | lineLength | 
appengine:run
Executa o servidor Web de desenvolvimento do App Engine. Quando o servidor está em execução, verifica continuamente se appengine-web.xml mudou. Se tiver, o servidor recarrega a aplicação. Isto significa que não tem de parar e reiniciar a aplicação devido a alterações ao appengine-web.xml.
Pode usar os seguintes parâmetros, alguns dos quais correspondem às flags da linha de comandos do servidor de desenvolvimento local:
| Propriedade | Descrição | Configuração do plugin | Configuração da linha de comandos | 
|---|---|---|---|
| automaticRestart | Reiniciar instâncias automaticamente quando os ficheiros da aplicação Web (recursos ou ficheiros de classe) são alterados. Para configurar o Maven de modo a colocar os ficheiros de classe compilados no diretório correto da aplicação Web, tem de alterar a definição outputDirectory do Maven: <build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... | devserver.automaticRestart | app.devserver.automaticRestart | 
| environment | Um mapa de variáveis de ambiente a enviar para o servidor de desenvolvimento local.
      Exemplo: <environment> <key1>value1</key1> <key2>value2</key2> </environment> | devserver.environment | app.devserver.environment | 
| jvmFlags | Argumentos adicionais a transmitir ao comando java quando iniciar uma instância da app. Pode ser especificado mais do que uma vez. Exemplo: <jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> | devserver.jvmFlags | app.devserver.jvmFlags | 
| host | Nome do anfitrião ao qual os serviços de aplicação devem ser associados. A predefinição é localhost. | devserver.host | app.devserver.host | 
| port | Porta mais baixa à qual os serviços de aplicação devem ser associados. A predefinição é 8080. | devserver.port | app.devserver.port | 
| serverVersion | Versão do servidor a iniciar. As opções são "1" e "2-alpha". A predefinição é "1". | devserver.serverVersion | app.devserver.serverVersion | 
| services | Obrigatório. Caminhos para um diretório que contém um diretório que contém WEB-INF/web.xml. A predefinição ébuild/exploded-app. | devserver.services | app.devserver.services | 
appengine:stage
Gera um diretório de compilação de aplicações para implementação.
Pode usar os seguintes parâmetros:
| Parâmetro | Descrição | Propriedade do utilizador | 
|---|---|---|
| appEngineDirectory | O diretório que contém app.yamle outros ficheiros de configuração do App Engine suportados. A predefinição é${basedir}/src/main/appengine. | app.stage.appEngineDirectory | 
| artifact | A localização do arquivo JAR ou WAR a implementar. A predefinição é ${project.build.directory}/${project.build.finalName}.${project.packaging}. | app.stage.artifact | 
| cloudSdkPath | Parâmetro opcional para configurar a localização da CLI gcloud. | cloudSdkPath | 
| dockerDirectory | O diretório que contém o Dockerfile e outros recursos do Docker.
      A predefinição é ${basedir}/src/main/docker/${basedir}/src/main/docker/. | app.stage.dockerDirectory | 
| stagingDirectory | Obrigatório. O diretório para o qual a aplicação deve ser preparada. A predefinição é ${project.build.directory}/appengine-staging | app.stage.stagingDirectory | 
appengine:start
Inicia a execução do servidor Web de desenvolvimento do App Engine de forma assíncrona
e, em seguida, regressa à linha de comandos. Quando este objetivo é executado, o comportamento é o mesmo que o objetivo run, exceto que o Maven continua a processar objetivos e sai após o servidor estar em funcionamento.
Pode usar os seguintes parâmetros:
| Propriedade | Descrição | Configuração do plugin | Configuração da linha de comandos | 
|---|---|---|---|
| environment | Um mapa de variáveis de ambiente a enviar para o servidor de desenvolvimento local.
      Exemplo: <environment> <key1>value1</key1> <key2>value2</key2> </environment> | devserver.environment | app.devserver.environment | 
| jvmFlags | Argumentos adicionais a transmitir ao comando java quando iniciar uma instância da app. Pode ser especificado mais do que uma vez. Exemplo: <jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> | devserver.jvmFlags | app.devserver.jvmFlags | 
| host | Nome do anfitrião ao qual os serviços de aplicação devem ser associados. A predefinição é localhost. | devserver.host | app.devserver.host | 
| port | Porta mais baixa à qual os serviços de aplicação devem ser associados. A predefinição é 8080. | devserver.port | app.devserver.port | 
| serverVersion | Versão do servidor a iniciar. As opções são "1" e "2-alpha". A predefinição é "1". | devserver.serverVersion | app.devserver.serverVersion | 
| services | Obrigatório. Caminhos para um diretório que contém um diretório que contém WEB-INF/web.xml. A predefinição ébuild/exploded-app. | devserver.services | app.devserver.services | 
| startSuccessTimeout | Quantidade de tempo em segundos a aguardar que o servidor de apps de desenvolvimento seja iniciado em segundo plano (quando usar appengineStart). | devserver.startSuccessTimeout | app.devserver.startSuccessTimeout | 
appengine:stop
Para um servidor de programação Web do App Engine em execução.
Pode usar os seguintes parâmetros:
| Parâmetro | Descrição | Configuração do plugin | Configuração da linha de comandos | 
|---|---|---|---|
| host | Nome do anfitrião ao qual o servidor de administração deve ser associado. A predefinição é localhost | devserver.adminHost | app.devserver.adminHost | 
| port | Porta à qual o servidor de administração deve ser associado. A predefinição é 8000. | devserver.adminPort | app.devserver.adminPort | 
| cloudSdkHome | Parâmetro opcional para configurar a localização da CLI gcloud. Se esta propriedade não for especificada, o plug-in transfere automaticamente a CLI gcloud. | cloudSdkHome | cloudSdkHome |