Acrescentando funcionalidades ao pom.xml

    Sun, May 05 2013
      

Abaixo vou dar algumas dicas de adições úteis ao pom.xml, seguindo o padrão que utilizo nos meus projetos Maven. Se você ainda não conhece a estrutura e funcionamento do Maven, leia o post:

Inserindo os dados básicos do projeto no pom.xml

<!-- dominio do fabricante do projeto -->
<groupId>com.fabriciojf</groupId>

<!-- nome do projeto -->
<artifactId>seuProjeto</artifactId>

<!-- tipo de empacotamento ex: aar - 
webservice / war - projeto web / jar - desktop-->
<packaging>jar</packaging>

<!-- nome do projeto -->
<name>projeto de exemplo</name>

<!-- versão do projeto. O maven utiliza o padrão ‘1.0 SNAPSHOT‘ 
para a versão corrente em desenvolvimento -->
<version>1.0-SNAPSHOT</version>

Inserindo descrição do projeto no pom.xml

<!-- descricao do projeto -->
<description>
       Aqui entra a descricao do seu projeto java
</description>

Inserindo propriedades do projeto no pom.xml

<!-- propriedades do projeto -->
<properties>
      <base.sourceVersion>1.0</base.sourceVersion>
      <base.versionFolder>${version}</base.versionFolder>
      <base.url>fabriciojf.com</base.url>
</properties>

É possível definir e utilizar variáveis dentro de um arquivo pom.xml. Neste nosso exemplo a variável ${version} se refere a uma variável definida no bloco dados do projeto através da tag <version>:

<version>1.0-SNAPSHOT</version>

e está sendo reutilizada em:

<base.versionFolder>${version}</base.versionFolder>

No caso da tag

<base.url>fabriciojf.com</base.url>

está sendo definida a variável base.url com o valor fabriciojf.com

Inserindo os dados da organização no pom.xml

<url>http://www.${base.url}</url>
<organization>
        <!-- nome da organização -->
        <name>Fabricio S Costa</name>

        <!-- url do site da organização -->
        <url>http://www.${base.url}</url>
</organization>

Inserindo os dados da equipe de desenvolvimento no pom.xml

<!-- sobre os desenvolvedores -->
<developers>
    <developer>
         <id>fabriciojf</id>
         <name>Fabricio S Costa</name>
         <email>fabriciojf@gmail.com</email>
         <url>http://www.${base.url}</url>
         <roles>
             <role>Owner</role>
         </roles>
         <timezone>-3</timezone>
    </developer>
</developers>