Usar o Apache Maven e o plug-in do App Engine (baseado na CLI Google Cloud)

Esta página explica como gerir um projeto do App Engine para a sua API Cloud Endpoints Frameworks através do Apache Maven. O Apache Maven é uma ferramenta de gestão e compreensão de projetos de software capaz de criar ficheiros de arquivo de aplicações Web (WAR) para implementação no App Engine. A Google disponibiliza um plug-in e arquétipos do Maven suportados pelo Maven 3.3.9 ou superior.

O Maven transfere as bibliotecas Java do SDK do App Engine. Pode usar o Maven para testar a sua app localmente e implementá-la no App Engine.

Antes de começar

  1. Use a Google Cloud consola para criar e configurar o seu Google Cloud projeto:

    Aceder ao App Engine

    1. Selecione ou crie um novo Google Cloud projeto.
    2. Se precisar de criar uma aplicação do App Engine para o seu projeto, siga as instruções para selecionar a região onde quer que a sua aplicação do App Engine esteja localizada.
  2. Transfira e instale a CLI gcloud e, em seguida, inicialize a CLI Google Cloud.

    Se já tiver a CLI gcloud instalada e quiser configurá-la para usar um ID de projeto diferente do que usou para a inicializar, consulte o artigo Gerir configurações da CLI gcloud. Google Cloud

  3. Instale o componente app-engine-java da CLI gcloud:
    gcloud components install app-engine-java

    Nota: para se certificar de que tem a versão mais recente da CLI gcloud para Java, execute gcloud components update.

  4. Se não tiver o Java, transfira-o, instale-o e configure-o.
  5. Defina as flags do compilador Java no ficheiro pom.xml do projeto para especificar o código de bytes Java 8:
    <properties>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
  6. Tem de ter a versão 3.3.9 ou superior do Apache Maven instalada. Para determinar a sua versão do Maven, execute o seguinte comando:
     mvn -v
  7. Se não tiver a versão adequada do Maven instalada:
    1. Transfira a versão 3.3.9 ou superior do Maven a partir do Website do Maven.
    2. Instale o Maven na sua máquina local.

      Nota: os utilizadores do Linux podem ter de transferir o Maven em vez de usar o apt-get install.

Adicionar o plug-in do Maven do App Engine a um projeto existente (opcional)

Para usar o App Engine Maven plugin num projeto Maven existente, adicione o seguinte à secção plugins no ficheiro pom.xml do projeto:

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.8.1</version>
</plugin>

Escolher um arquétipo do App Engine

Os arquétipos do Maven permitem que os utilizadores criem projetos do Maven através de modelos que abrangem cenários comuns. O App Engine tira partido desta funcionalidade do Maven para fornecer alguns arquétipos do App Engine úteis no Maven Central. Selecione um arquétipo do App Engine adequado para a sua app:

Tipo de aplicação Artefacto Descrição
Endpoints Frameworks para o App Engine endpoints-skeleton-archetype Gera um novo projeto de API de back-end do Endpoints Frameworks para o App Engine vazio, pronto para as suas próprias classes e recursos, com os ficheiros e os diretórios necessários.
Endpoints Frameworks para o App Engine hello-endpoints-archetype Gera um projeto de API de back-end do Endpoints Frameworks para App Engine inicial, pronto para ser criado e executado.

Criar um novo projeto através do Maven

Durante a criação do projeto, o Maven pede-lhe que forneça o groupId, o artifactId, o version e o package para o projeto.

Vigência Significado
groupId Um espaço de nomes no Maven para acompanhar os seus artefactos. Quando as pessoas consomem o seu projeto no respetivo projeto Maven, este funciona como um atributo da dependência que acabam por especificar.
artifactId O nome do seu projeto no Maven. Também é especificado pelos consumidores do seu projeto quando dependem de si nos respetivos projetos Maven.
version A versão inicial do Maven com a qual quer que o seu projeto seja gerado. É recomendável que o nome da versão version tenha o sufixo -SNAPSHOT, uma vez que isto oferece suporte no plug-in de lançamento do Maven para versões que estão em desenvolvimento. Para mais informações, consulte o guia do Maven sobre a utilização do plug-in de lançamento.
package O pacote Java criado durante a geração.

Criar uma nova app Endpoints Frameworks

Esta secção descreve a criação de um novo projeto do Endpoints Frameworks versão 2.0.

O hello-endpoints-archetype oferece um exemplo de utilização de plug-ins, incluindo o plug-in do App Engine Maven e o plug-in do Endpoints Frameworks Maven.

O hello-endpoints-archetype gera um exemplo da API Greetings através da versão 2.0 dos Frameworks de Endpoints. Também funciona como exemplo para migrar as suas aplicações da versão 1.0 do Endpoints Frameworks para a versão 2.0 do Endpoints Frameworks.

O README.md gerado com o arquétipo fornece informações sobre o local onde a migração ocorreu.

Para criar um projeto de arquétipo da API de back-end do Endpoints Frameworks para App Engine:

  1. Altere o diretório para um diretório onde quer criar o projeto.

  2. Execute o seguinte comando Maven:

    mvn archetype:generate -Dgoogle-cloud-project=[YOUR-PROJECT-ID] -Dappengine-plugin=2.8.1 -Dendpoints-frameworks=2.1.0 -Dendpoints-plugin=1.0.2 -Dappengine-sdk=1.9.98 -Dfilter=com.google.appengine.archetypes:
    

    Onde:

    • -Dgoogle-cloud-project está definido como o ID do seu projeto.
    • -Dappengine-plugin está definido para a versão mais recente do plug-in do App Engine Maven.
    • -Dendpoints-frameworks está definido para a versão mais recente dos Frameworks de Endpoints para o App Engine para dependências do Maven.
    • -Dendpoints-plugin está definido para a versão mais recente do Endpoints Frameworks for App Engine Maven Plugin.
  3. Indique o número correspondente a hello-endpoints-archetype.

  4. Selecione a versão mais recente na lista apresentada de versões de arquétipos disponíveis.

  5. Quando lhe for pedido que Define value for property 'groupId', indique o espaço de nomes da sua app; por exemplo, indique o valor com.example.helloendpoints.

  6. Quando lhe for pedido Define value for property 'artifactId', indique o nome do projeto; por exemplo, indique o valor helloendpoints.

  7. Quando lhe for pedido que Define value for property 'version', aceite o valor predefinido.

  8. Quando lhe for pedido que Define value for property 'package', aceite o valor predefinido.

  9. Quando lhe for pedido para confirmar as suas escolhas, aceite o valor predefinido introduzindo Y.

  10. Aguarde que o projeto termine a geração. Em seguida, altere os diretórios para o diretório do novo projeto, por exemplo, helloendpoints/.