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
- Use a Google Cloud consola para criar e configurar o seu Google Cloud projeto:
- Selecione ou crie um novo Google Cloud projeto.
- 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.
- 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
- Instale o componente
app-engine-javada 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. - Se não tiver o Java, transfira-o, instale-o e configure-o.
- Defina as flags do compilador Java no ficheiro
pom.xmldo projeto para especificar o código de bytes Java 8: - 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
- Se não tiver a versão adequada do Maven instalada:
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:
Altere o diretório para um diretório onde quer criar o projeto.
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-projectestá definido como o ID do seu projeto.-Dappengine-pluginestá definido para a versão mais recente do plug-in do App Engine Maven.-Dendpoints-frameworksestá definido para a versão mais recente dos Frameworks de Endpoints para o App Engine para dependências do Maven.-Dendpoints-pluginestá definido para a versão mais recente do Endpoints Frameworks for App Engine Maven Plugin.
Indique o número correspondente a
hello-endpoints-archetype.Selecione a versão mais recente na lista apresentada de versões de arquétipos disponíveis.
Quando lhe for pedido que
Define value for property 'groupId', indique o espaço de nomes da sua app; por exemplo, indique o valorcom.example.helloendpoints.Quando lhe for pedido
Define value for property 'artifactId', indique o nome do projeto; por exemplo, indique o valorhelloendpoints.Quando lhe for pedido que
Define value for property 'version', aceite o valor predefinido.Quando lhe for pedido que
Define value for property 'package', aceite o valor predefinido.Quando lhe for pedido para confirmar as suas escolhas, aceite o valor predefinido introduzindo
Y.Aguarde que o projeto termine a geração. Em seguida, altere os diretórios para o diretório do novo projeto, por exemplo,
helloendpoints/.