Pergunta

Como você vê no título, quero pedir que o caso de Maven 3 Não há mais suporte para $ versão em pom.xml. Temos que realmente escrever uma constante sempre em cada projeto em todos os arquivos de configuração do POM.XML e relacionados repetidamente? Como podemos evitar fazer isso? Como podemos usar um método de versão como $ versão?

Foi útil?

Solução

A expressão ${version} está obsoleto, você deve usar ${project.version} Em vez disso, mas ambos ainda são suportados e você certamente não precisa de uma propriedade personalizada.

A seguir, funciona bem para mim com o Maven 3:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>services</artifactId>
  <version>${project.version}</version>
  <type>ejb</type>
</dependency>

E também dê uma olhada na minha resposta anterior para Aviso sobre o uso do Project.Parent.version como a versão de um módulo no Maven 3, a maneira como você está usando version (Com base no que vi nos comentários em outra resposta) não faz muito sentido IMHO e MAVEN 3, na verdade, sugerem seguir uma prática recomendada. Apenas herde a versão.

Outras dicas

Usando uma macro dentro do topo <version/> elemento e a versão no <parent/> O elemento nunca funcionou no Maven 2. Parecia funcionar, mas não causou nada além de confusão a jusante. Se não é disso que você está falando, esclareça sua pergunta.

O erro abaixo mostra a depreciação de $(artifactId} e ${version}

AVISO] A expressão $ {ArtifactId} está depreciada. Use $ {Project.artifactId} em vez disso. [Aviso] A expressão $ {versão} está depreciada. Use $ {Project.version} em vez disso. [Aviso] [Aviso] É altamente recomendável corrigir esses problemas porque eles ameaçam a estabilidade da sua construção. [Aviso] [Aviso] Por esse motivo, as versões futuras do Maven podem não suportar mais projetos malformados.

A mensagem de aviso soletrou. Substituir ${artifactId} com ${project.artifactId}, e ${version} com ${project.version}

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top