Est-il possible d'exécuter un script bash de Maven?
Pour la création de la configuration de mon application, j'ai besoin d'exécuter des scripts bash.
Est-il possible d'intégrer l'exécution des scripts bash dans Maven, peut-être qu'il existe des plugins?
Merci.
- Double Possible de je veux exécuter des commandes shell à partir du maven pom.xml
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire cela, voir la réponse:
Je veux exécuter des commandes shell à partir du maven pom.xml
Mais il n'est pas conseillé, ce qui ne produit pas si portable construit. Pourquoi voulez-vous en premier lieu? L'utilisation de ce plugin indique généralement un peu bizarre nécessité dans le projet de construire
Pourrait le Bash Plugin Maven vous aider? (Disclaimer: j'ai lancé l'idée, donc, merci de m'envoyer des commentaires)
Vous aurez besoin pour installer ce plugin maven dans votre propre repo Maven.
Comme Konstantin: Lorsque vous exécutez un script shell, vous n'êtes pas portable plus.
Ressemblerait plus à:
Avec myFirst.sh:
Résolu. Le problème est que l'exécutable est de travailler d'une manière différente pour bash. Ce code fonctionne. L'écrire dans pom.xml
Utiliser le
maven-antrun-plugin
artefact. De cette façon, vous pouvez exécuter plusieurs exécutables de façon séquentielle plus facilement queexec-maven-plugin
. Exemple:* La
<exec>
tag est le plus important ici.Si possible, je vous recommande d'utiliser un langage de script qui s'exécute à l'intérieur de la JVM avec des dépendances qui sont capturées dans votre projet ou dans le repository maven. De cette façon, vos builds sont indépendant de la plateforme et de vos dépendances sont pris en compte (c'est à dire que vous ne perdiez pas la machine de compilation et de réaliser votre script bash qui est spécifique à cette zone). J'ai montré un exemple dans ce post de l'utilisation de la jacl. Il y a aussi de bons exemples de l'utilisation de javascript et groovy à l'intérieur de antrun (s'il y a peut être plus simple des façons de les appeler directement).
À expérimenter avec les commandes que vous pouvez utiliser
exec:exec
:Cela démontre:
-q
d'enfermer le mvn journal