Criar uma aplicação Web Java
A sua empresa está atualmente a executar várias aplicações Web Java em servidores internos. Para reduzir os altos custos associados à manutenção desses servidores, sua empresa deseja migrar seus aplicativos Web para o Serviço de Aplicativo do Azure.
A sua equipa de desenvolvimento tem experiência em utilizar o Maven para criar aplicações de ambiente de trabalho e já utiliza o Maven para automatizar o processo de criação para os seus projetos de Java. Compreende que o Maven utiliza plug-ins nos projetos para adicionar funcionalidade adicional e quer utilizar um arquétipo para criar uma aplicação Web que possa implementar no Serviço de Aplicações do Azure.
Nesta unidade, irá revisitar como o Maven e os arquétipos podem ajudar a criar aplicações Web Java. Você aprenderá como criar um pequeno aplicativo Web Java e executá-lo localmente. Em seguida, você aprenderá o que adicionar ao arquivo POM (Project Object Model) para habilitar o teste local para seu novo aplicativo.
Utilizar o Maven para automatizar a criação de aplicações Web Java
O Maven é a ferramenta de construção Java mais usada, e você pode usá-la para construir e gerenciar qualquer projeto baseado em Java. A mesma ajuda a simplificar os processos de como os programadores criam projetos de Java através de uma forma padrão de criação de projetos, de uma definição clara do que constitui o projeto, de uma forma fácil de publicar informações do projeto e de partilhar JARs em vários projetos. Os objetivos do Maven são:
- Facilite o processo de compilação.
- Migre de forma transparente para novos recursos.
- Forneça um sistema de construção uniforme.
- Implementar diretrizes sobre as melhores práticas de desenvolvimento.
O que são arquétipos?
Os criadores do Maven precisavam de uma maneira de fornecer uma prática recomendada consistente a seguir quando os desenvolvedores estruturam novos projetos, e descobriram que há várias semelhanças entre diferentes tipos de projetos. Os criadores usaram essas informações para definir esses tipos de projeto como modelos chamados arquétipos, que o Maven usa para criar o andaime para novos projetos rapidamente. Vários exemplos de arquétipos comuns:
Arquétipo | Description |
---|---|
maven-archetype-archetype |
Gera um projeto de arquétipo |
maven-archetype-mojo |
Gera um plug-in do Maven de exemplo |
maven-archetype-plugin |
Gera um plug-in do Maven |
maven-archetype-plugin-site |
Gera um site de plug-ins do Maven |
maven-archetype-quickstart |
Gera um projeto do Maven |
maven-archetype-simple |
Gera um projeto do Maven simples |
maven-archetype-site |
Gera um site do Maven que demonstra alguns dos tipos de documentos suportados, como APT, XDoc e FML |
maven-archetype-site-simple |
Gera um site do Maven simples |
maven-archetype-webapp |
Gera um projeto de aplicação Web do Maven |
No próximo exercício, irá criar uma aplicação Web que poderá implementar no Azure. Por exemplo, para criar um novo aplicativo Web Java usando o Maven, você usaria a seguinte sintaxe:
mvn archetype:generate \
-DgroupId=com.microsoft.example \
-DartifactId=MyWebApp \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false
A execução do comando anterior cria uma estrutura de diretórios de projeto com estes conteúdos:
O que são ficheiros POM (Project Object Model)?
Um dos componentes fundamentais de um projeto do Maven é um ficheiro POM (Project Object Model), que é um documento XML chamado pom.xml
que reside na árvore de diretórios de um projeto. O ficheiro POM contém as propriedades, dependências, fases de criação, plug-ins e objetivos para um projeto. Quando criar a sua aplicação, o Maven tratará da gestão das dependências por si.
O Maven foi concebido com base numa estrutura de plug-ins e adicionar plug-ins a um ficheiro POM é como os programadores definem os objetivos para os seus projetos. Quando executar o Maven, pode executar um objetivo específico com a sintaxe mvn [plugin-name]:[goal-name]
e o Maven executará todos os objetivos até o [goal-name]
que especificar.
O exemplo seguinte ilustra o conteúdo do ficheiro pom.xml
gerado pelo comando mvn archetype:generate
com o arquétipo maven-archetype-webapp
na secção anterior desta unidade.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.microsoft.example</groupId>
<artifactId>MyWebApp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MyWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWebApp</finalName>
</build>
</project>
Como adicionar plug-ins a um projeto do Maven
Para adicionar um plug-in ao seu projeto do Maven, tem de adicionar o XML específico desse plug-in ao ficheiro pom.xml
. Existem dois plugins úteis que permitem aos desenvolvedores executar aplicativos da web localmente em suas máquinas: Eclipse Jetty e Apache Tomcat. O plug-in do Serviço de Aplicativo do Azure dá suporte a esses dois servidores Web. Para adicionar um desses servidores ao seu projeto, você adicionaria o XML necessário para o plug-in à <build>
tag .
Por exemplo, para adicionar o plug-in do Tomcat, você adicionaria XML como o exemplo a seguir:
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
Nota
Para encontrar um plug-in e as informações relacionadas, pode procurar no Repositório Central em https://search.maven.org/.)
Quando adicionar o XML do plug-in do Tomcat ao ficheiro pom.xml
, deve assemelhar-se ao seguinte exemplo:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.microsoft.example</groupId>
<artifactId>MyWebApp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>MyWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWebApp</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</build>
</project>
Depois de adicionar o plug-in do Tomcat ao projeto, pode utilizar o comando seguinte do Maven para iniciar o servidor Tomcat e testar a aplicação Web:
mvn tomcat7:run
Este comando cria a aplicação, inicia um servidor Tomcat na porta 8080 redefinida e carrega a página index.jsp
a partir da pasta src\webapp
do projeto.
No próximo exercício, irá criar uma aplicação Web Java com o Maven.