Je veux exécuter des commandes shell Linux avec Maven. Voici ce que j’ai essayé:
org.codehaus.mojo exec-maven-plugin 1.1.1 exec hostname
Voici ce qui a fonctionné pour moi:
exec-maven-plugin org.codehaus.mojo Version Calculation generate-sources exec ${basedir}/scripts/calculate-version.sh
Le problème ici est que je ne sais pas ce qui est attendu . Avec votre configuration actuelle, invoquer le plug-in sur la ligne de commande ne fonctionnerait que:
$ mvn exec: exec [INFO] Recherche de projets ... [INFO] ----------------------------------------------- ------------------------- [INFO] Bâtiment Q3491937 [INFO] segment de tâche: [exec: exec] [INFO] ----------------------------------------------- ------------------------- [INFO] [exec: exec {execution: default-cli}] [INFO] ordinateur portable [INFO] ----------------------------------------------- ------------------------- [INFO] CONSTRUIRE UNE RÉUSSITE [INFO] ----------------------------------------------- ------------------------- ...
La configuration
globale est utilisée, la commande hostname
est exécutée (le laptop
est mon nom d’hôte). En d’autres termes, le plug-in fonctionne comme prévu.
Maintenant, si vous voulez qu’un plugin soit exécuté dans le cadre de la construction , vous devez lier un objective sur une phase spécifique. Par exemple, pour le lier sur comstack
:
org.codehaus.mojo exec-maven-plugin 1.1.1 some-execution comstack exec hostname
Et alors:
$ mvn comstackr [INFO] Recherche de projets ... [INFO] ----------------------------------------------- ------------------------- [INFO] Bâtiment Q3491937 [INFO] segment de tâche: [comstackr] [INFO] ----------------------------------------------- ------------------------- [INFO] [ressources: ressources {exécution: ressources par défaut}] [INFO] Utilisation de l'encodage 'UTF-8' pour copier des ressources filtrées. [INFO] ignore le ResourceDirectory / home / pascal / Projects / Q3491937 / src / main / resources non existant [INFO] [compilateur: comstack {execution: default-comstack}] [INFO] Rien à comstackr - toutes les classes sont à jour [INFO] [exec: exec {execution: some-execution}] [INFO] ordinateur portable [INFO] ----------------------------------------------- ------------------------- [INFO] CONSTRUIRE UNE RÉUSSITE [INFO] ----------------------------------------------- ------------------------- ...
Notez que vous pouvez spécifier une configuration
dans une execution
.
Résolu Le problème est que l’exécutable fonctionne différemment sous Linux. Si vous voulez exécuter le fichier .sh, vous devez écrire comme suit. Ecrivez-le dans pom.xml
exec-maven-plugin 1.6.0 org.codehaus.mojo Renaming build artifacts package exec bash handleResultJars.sh
2 options:
npm start
avec maven, vous pouvez y arriver avec ce qui suit: mvn exec:exec -Pstart-node
Pour cela, vous avez besoin de la section maven ci-dessous
start-node org.codehaus.mojo exec-maven-plugin 1.3.2 exec npm start
npm install
vous pouvez le faire avec: mvn install
Et pour cela, vous auriez besoin de la section ci-dessous:
org.codehaus.mojo exec-maven-plugin 1.3.2 npm install (initialize) exec initialize npm install