Comment puis-je exécuter le plugin maven-release-plugin sans déclencher les tests?
j'ai essayé
-Dmaven.test.skip=true
et
-DskipTests
et
-DpreparationGoals=clean
... mais aucun ne fonctionne.
Oui, je sais que je ne devrais pas publier si les tests échouent, mais je n'ai pas le contrôle de faire en sorte que mes collègues écrivent des tests fiables.
2
. J'ai passé des heures à essayer de faire les choses correctement ... mais 1. Ai-je manqué quelque chose dans la documentation ou est-ce que la documentation mvn manque quelque chose? 2. J'avais<skipTests>true</skipTests>
configuré dans mon entreprise POM. N'a toujours pas fonctionné. Ce qui a fonctionné était votre solution.-Darguments="..."
transmet des arguments au processus maven fourchu, mais il est important de réaliser que deux commutateurs différents sont utilisés ici. Le-DskipTests
maven force à ne pas exécuter de tests, mais les tests sont toujours compilés (ceci est important si vous avez des dépendances sur un type test-jar). le-Dmaven.test.skip=true
forces maven à ne même pas compiler les tests, ce qui signifie qu'aucun test-jars ne sera généré.Donc, vous devez utiliser
-Darguments
, mais pour ignorer les tests en cours d'utilisation uniquementskipTests
, pour les empêcher de compiler l'utilisationmaven.test.skip
.la source
Si vous souhaitez simplement ignorer les tests d'intégration, cela le fera:
la source
vous avez des choix trop différents pour éviter et sauter les tests avec le plugin de publication
exemple:
mvn -X -Darguments="-Dmaven.javadoc.skip=true -Dmaven.test.skipTests=true -Dmaven.test.skip=true" -P release-mode release:prepare
-La seconde est d'exécuter ces arguments sur votre pom.xml dans la construction comme ceci:
Notez que la deuxième méthode remplace la première.
Je vous ai recommandé de préparer la release d'abord sur une seule action et ensuite vous pouvez éditer le fichier release.properties sur le répertoire de travail et regarder les
exec.additionalArguments
propriétés si vos arguments sont là. Cela ressemblera à:exec.additionalArguments=-Dmaven.javadoc.skip\=true -Dmaven.test.skipTests\=true -Dmaven.test.skip\=true -P release-mode
.Après vous pouvez effectuer la libération.
la source
Pour ignorer tout le test unitaire, il utilise l'argument
donc si vous voulez sauter le test unitaire, cela résoudra
ou bien vous pouvez définir skipTests dans maven-surefire-plugin dans
la source
Aucun plug-in maven ne déclenche littéralement la compilation ou l'exécution des tests. Ce sont les phases du cycle de vie maven qui déclenchent l'exécution (s) d'un ou plusieurs plug-ins, lorsque ceux-ci ont des objectifs limités à une phase spécifique.
Ainsi, il suffit d'exécuter un seul objectif de plug-in sans exécuter de tests:
ou combiner avec la construction et l'emballage du projet:
la source