23 de abr de 2011

Guia de Propriedades existentes no Maven

O maven possui uma lista de propriedades que são muito úteis na criação de um novo projeto.

Nesta postagem irei apresentar algumas destas propriedades. Espero que seja útil.

No Maven 3 todas as propriedades pom.* foram descontinuadas. Agora as propriedades iniciam com project.*

Propriedades de Build

  • ${basedir} – representa o diretório que contem o pom.xml
  • ${version} – é equivalente a ${project.version} ou ao antigo ${pom.version}

 

Propriedades Pom/Project

Todos os elementos contidos no pom.xml podem ser referenciados com o prefixo project. ou através do prefixo pom. A lista abaixo funciona com os dois prefixos, para facilitar irei apresentar apenas com project.

  • ${project.build.directory} – representa o caminho para a pasta target. É semelhante a ${pom.project.build.directory}
  • ${project.build.outputDirectory} – indica o caminho para onde as classes serão compiladas. O diretório padrão é "target/classes".
  • ${project.name} ou ${pom.name} indicam o nome do projeto
  • ${project.version} ou ${pom.version} indicam a versão do projeto
  • ${project.build.finalName} – indica o nome final do artefato que será gerado e empacotado na pasta target.

 

Configurações Locais

Propriedades definidas no arquivo settings.xml local na pasta do usuário podem ser referenciadas diretamente em seu projeto através do prefixo settings.

  • ${settings.localRepository}  - é uma referencia ao repositório local definido no settings.xml

Aos que ainda não conhecem este arquivo sugiro consultar a pasta: C:\Documents and Settings\<seu_usuario_windows>\.m2\settings.xml ou no caso do Linux em ~/.m2/settings.xml.

 

Variáveis de Ambiente

As variáveis de ambiente podem ser referenciadas apenas usando o prefixo env

  • ${env.M2_HOME}  - informa o diretório raiz onde está instalada a versão do Maven.
  • ${java.home} – indica o diretório da instalação do JRE_HOME. Para usar corretamente em seu projeto sugiro usar conforme o exemplo abaixo
<properties>
  <jvm>${java.home}../bin/java.exe</jvm>
</properties>

 


Propriedades customizadas no projeto


No Maven existe a possibilidade de criar novas propriedades em seu projeto(conforme visto inclusive no exemplo de variáveis de ambiente acima).


Veja um exemplo:




<project>
...
  <properties>
     <nome.ambiente>desenvolvimento</nome.ambiente>
     <versao.biblioteca>1.2.3</versao.biblioteca>
  </properties>
...
</project>


Para usar estas variáveis em seu projeto basta apenas inserir o código ${nome.ambiente} e ${versao.biblioteca}.


 


Propriedades herdadas de um Projeto Pai


Para usar propriedades definidas em um projeto Pai basta apenas usar o prefixo ${project.parent}.


Uma boa forma de determinar quais são as possíveis variáveis que podem ser acessadas de um projeto pai é pesquisar a api do Maven. Nesta postagem usei a versão do Maven 3.0.3. Está acessível em http://maven.apache.org/ref/3.0.3.

Pesquisa personalizada

0 comentários:

Postar um comentário

Leia as regras:
Todos os comentários são lidos e moderados previamente.
Apenas os que respeitam as regras abaixo serão publicados:
- o comentário deve estar relacionado ao assunto do post
- não serão aceitos palavrões e ofensas ao redator do blog ou a terceiros
- não inclua links desnecessários no conteúdo do comentário
- se quiser deixar sua url, comente com a opção OpenId
Obs.: os comentários dos leitores não refletem a opnião do blog.