Question obtenir le répertoire parent de $ {basedir} de maven


Est-il possible d'obtenir le répertoire parent pour ${basedir} dans mon pom.xml? Actuellement j'ai

<earSourceDirectory>${basedir}/EAR/src/main/resources</earSourceDirectory> 

mais je dois accéder au répertoire parent de basedir car mes ressources se trouvent dans différents projets maven.

Comment puis-je obtenir le dossier parent de ${basedir}?


11
2017-10-22 07:35


origine


Réponses:


${project.basedir}/../

Cependant, j'essaie d'éviter l'accès aux ressources dans un module différent. Je suggère d'utiliser le décompresser le but du plugin maven-dependency.


7
2017-10-22 08:11



S'il vous plaît, n'essayez pas de sortir de la base, car cela est considéré comme une très mauvaise pratique. Même si vous réussissez maintenant, ce sera le début d'une solution de contournement pour contourner Maven. Au final, Maven va gagner. Si un développeur extrait un répertoire avec un pom.xml, il devrait pouvoir exécuter le projet avec mvn verify sans aucune référence à d'autres répertoires.

S'il s'agit de ressources partagées, faites-en un projet distinct et incluez-le en tant que dépendance (recherchez des projets multi-modules). Ou utilisez le maven-remote-resources-plugin pour tirer ces ressources dans votre projet.


4
2017-10-23 17:37



Chez les enfants:

<properties>
    <main.basedir>${project.parent.basedir}</main.basedir>
</properties>

Dans les petits-enfants:

<properties>
    <main.basedir>${project.parent.parent.basedir}</main.basedir>
</properties>

3
2017-08-13 15:41