Criar um aplicativo Web Java
Atualmente, sua empresa está executando vários aplicativos 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.
Sua equipe de desenvolvimento tem experiência com o uso de Maven para criar aplicativos para desktop e você já usa o Maven para automatizar o processo de build de projetos Java. Você sabe que o Maven usa plug-ins para projetos para adicionar funcionalidade extra e deseja usar um arquétipo para criar um aplicativo Web que pode ser implantado no Serviço de Aplicativo do Azure.
Nesta unidade, você reverá como o Maven e os arquétipos podem ajudar a criar aplicativos Web Java. Você aprenderá a criar um pequeno aplicativo Web do Java e executá-lo localmente. Em seguida, você aprenderá o que adicionar ao arquivo Project Object Model (POM) para habilitar o teste local para o seu novo aplicativo.
Usando Maven para automatizar a criação de aplicativos Web Java
O Maven é a ferramenta de build do Java mais popular, e você pode usá-la para criar e gerenciar qualquer projeto baseado em Java. Ele ajuda a simplificar os processos de como os desenvolvedores criam projetos Java com uma forma padrão de criar os projetos, uma definição clara do que o projeto consistiu, uma forma fácil de publicar informações do projeto e um modo de compartilhar JARs entre vários projetos. As metas do Maven são:
- Facilite o processo de build.
- Migre de forma transparente para novos recursos.
- Forneça um sistema de build uniforme.
- Implemente diretrizes sobre as práticas recomendadas no desenvolvimento.
O que são arquétipos?
Os criadores do Maven precisavam de uma maneira de fornecer diretrizes de melhores práticas consistentes, a serem seguidas pelos desenvolvedores quando eles 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 scaffolding para novos projetos rapidamente. Estes são vários exemplos de arquétipos comuns:
Arquétipo | Descrição |
---|---|
maven-archetype-archetype |
Gera um projeto de arquétipo |
maven-archetype-mojo |
Gera um plug-in de Maven de exemplo |
maven-archetype-plugin |
Gera um plug-in de Maven |
maven-archetype-plugin-site |
Gera um site de plug-in de Maven |
maven-archetype-quickstart |
Gera um projeto de Maven |
maven-archetype-simple |
Gera um projeto de Maven simples |
maven-archetype-site |
Gera um site de Maven que demonstra alguns dos tipos de documento com suporte, como APT, XDoc e FML |
maven-archetype-site-simple |
Gera um site de Maven simples |
maven-archetype-webapp |
Gera um projeto de aplicativo Web de Maven |
No próximo exercício, você criará um aplicativo Web que pode ser implantado no Azure. Por exemplo, para criar um novo aplicativo Web do 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ório de projeto com o seguinte conteúdo:
O que são arquivos POM (Modelo de Objeto do Projeto)?
Um dos componentes principais de um projeto Maven é um arquivo POM (Modelo de Objeto de Projeto), que é um documento XML chamado pom.xml
que reside na árvore de diretórios de um projeto. O arquivo POM contém as propriedades, as dependências, as fases de build, os plug-ins e as metas de um projeto. Quando você compilar o aplicativo, o Maven cuidará do gerenciamento das dependências para você.
O Maven foi criado em uma estrutura de plug-in, na qual os desenvolvedores definem metas para seus projetos adicionando plug-ins a um arquivo POM. Ao executar o Maven, você pode executar uma meta específica usando a sintaxe mvn [plugin-name]:[goal-name]
e o Maven executará todas as metas até o [goal-name]
que você especificar.
O exemplo a seguir ilustra o conteúdo do arquivo pom.xml
que foi gerado pelo comando mvn archetype:generate
com o arquétipo maven-archetype-webapp
na seçã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 Maven
Para adicionar um plug-in a seu projeto Maven, você precisa adicionar o XML específico para esse plug-in ao arquivo pom.xml
. Há dois plug-ins úteis que permitem que os desenvolvedores executem aplicativos Web localmente em seus computadores: o Eclipse Jetty e o Apache Tomcat. O plug-in do Serviço de Aplicativo do Azure dá suporte a ambos os servidores Web. Para adicionar um desses servidores ao seu projeto, você adicionará o XML necessário para o plug-in à marca <build>
.
Por exemplo, para adicionar o plug-in 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>
Observação
Para localizar um plug-in e suas informações relacionadas, você pode pesquisar o Repositório Central em https://search.maven.org/.)
Quando você adiciona o XML do plug-in do Tomcat ao arquivo pom.xml
, ele deve se parecer com o 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 seu projeto, você pode usar o seguinte comando do Maven para iniciar o servidor do Tomcat e testar o aplicativo Web:
mvn tomcat7:run
Esse comando compila o aplicativo, inicia um servidor Tomcat na porta padrão 8080 e carrega a página index.jsp
da pasta src\webapp
do projeto.
No próximo exercício, você criará um aplicativo Web Java usando Maven.