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.
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.