9
votes

Pourquoi Maven 3 abandonne-t-il la déclaration de la version $ $?

Comme vous le voyez du titre, je tiens à demander que le cas d'in Maven 3 Il n'y a plus de support pour $ la version dans POM.XML. Devons-nous vraiment écrire une constante à chaque fois dans chaque projet dans tous les fichiers POM.XML et de configuration associés à nouveau et encore? Comment pouvons-nous éviter de faire cela? Comment pouvons-nous utiliser une méthode de versions comme $ version?


0 commentaires

3 Réponses :


1
votes

Utilisation d'une macro à l'intérieur du sommet (code> et la version dans le Élément n'a jamais travaillé dans Maven 2. Il semblait travailler, mais n'a rien provoqué que la confusion en aval. Si ce n'est pas ce dont vous parlez, veuillez clarifier votre question.


5 commentaires

Je parle de $ {projecturversion} Déclaration. Au lieu de, disons, écrire la version comme 0.0.1 Nous pourrions écrire $ {projecturversion} avant, mais à Maven3, cela ne le supporte pas. Je comprends de l'avertissement qu'il donne droit sur le temps d'installation propre. Sur la console, il dit clairement que "la version doit être une constante". Cependant, avant Maven3, il n'a jamais été averti comme ça. Donc, dans Maven3, la déclaration $ {ProjectorVersion} (pour mon exemple) entre les balises de version n'est plus prise en charge. En conséquence, y a-t-il une idée ou une méthode qui me permet de l'utiliser à nouveau?


Dans quel contenu? Dans une dépendance ordinaire ou à l'intérieur ?


Où est le problème avec $ {projet.version} habituellement, vous n'avez pas besoin. Si vous publiez une nouvelle version, il remplacera automatiquement les anciennes versions avec les nouvelles. Donc, je ne vois pas le besoin d'une macro?


Salut encore, voici ce que l'intérieur du haut pom.xml; 4.0.0 com.mp.myproject MyProject MyProject Maven MACH MACH POM 2.3 {projecturversion} ... ../ myProject_domain ../ myProject_ejb ../ myProject_web ../ myProject_ear


OK, et l'autre pom.xml's dans les modules Il y a: MyProject com.mp.myproject $ {projectsion} ../ myProject / pom.xml



17
votes

L'expression $ {version} est obsolète, vous devez utiliser $ {projet.version} à la place, mais les deux sont toujours pris en charge et vous n'avez certainement pas besoin de Propriété personnalisée.

Ce qui suit fonctionne bien pour moi avec Maven 3: xxx

et consultez également ma réponse précédente à Avertissement sur l'utilisation de projet.parent.version comme La version d'un module dans Maven 3 , la manière dont vous utilisez la version (basé sur ce que j'ai vu dans les commentaires dans une autre réponse) n'a pas beaucoup de sens Imho et Maven 3 effectivement, veuillez suggérer de suivre une meilleure pratique. Il suffit d'hériter de la version.


0 commentaires

0
votes

L'erreur ci-dessous montre la dépréciation de $ (artifactid} et $ {version}

[AVERTISSEMENT] L'expression $ {artifactid} est obsolète. Veuillez utiliser $ {projet.artifactide} à la place. [AVERTISSEMENT] L'expression $ {VERSION} est obsolète. Veuillez utiliser $ {projet.version} à la place. [ATTENTION] [AVERTISSEMENT] Il est fortement recommandé de résoudre ces problèmes parce qu'ils menace la stabilité de votre construction. [AVERTISSEMENT] [AVERTISSEMENT] Pour cela raison, future versions Maven pourrait ne plus soutenir la construisité G telle projets mal formés.

Le message d'avertissement le sort. Remplacer $ {artifactid} avec $ {project.artifactid} et $ {version} avec $ {projet.version} / code>


0 commentaires