Maven enforcer plugin manquant ou non valide règles
J'essaye de configurer l'enforcer plugin maven pour faire respecter un minimum la version Java. Cependant, chaque fois que j'essaie d'exécuter mvn enforcer:enforce
, j'obtiens:
Les paramètres de "règles" pour objectif org.apache.maven.plugins:maven-enforcer-plugin:1.3.1:l'application est manquant ou non valide
Voici la partie pertinente de mon pom fichier:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce-java</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>(1.7.0-20,)</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
J'ai aussi essayé de remplacer le <requireJavaVersion>
bloc avec <alwaysPass/>
, dans le cas où quelque chose n'était pas valide, mais elle n'a toujours pas avec la même erreur.
Double Possible de l'utilisation de maven enforcer plugin
dans mon cas, la solution est la valeur par défaut-cli paramètre, une partie de la accepté de répondre ici. Moins évidente, en stackoverflow.com/questions/6754974/...
dans mon cas, la solution est la valeur par défaut-cli paramètre, une partie de la accepté de répondre ici. Moins évidente, en stackoverflow.com/questions/6754974/...
OriginalL'auteur X3no | 2014-07-18
Vous devez vous connecter pour publier un commentaire.
Il se peut que vous utilisez invalide la règle des noms. Découvrez la les règles page.
La règle noms sont sensibles à la casse.
Si ce n'est pas le cas ici.
---- Edit ----
Noter que le POM de configuration a un ID d'exécution de
enforce-java
et que l'exécution est liée à lavalidate
phase du cycle de vie. La commandemvn enforcer:enforce
est en cours d'exécution d'un objectif, pas une phase dans le cycle de vie. La configuration que vous avez fournies dans le POM ne s'applique pas à laenforcer:enforce
objectif.Il y a deux façons de faire ce travail. Celui que vous choisissez dépend de ce que vous avez besoin.
mvn validate
.mvn enforcer:enforce
œuvres, puis changer l'ID d'exécution dedefault-cli
.Modification de l'id de
default-cli
faitmvn enforcer:enforce
fonctionner correctement. Maismvn validate
toujours réussit, même si la disparition forcée conditions ne sont pas remplies.Vous devriez vérifier votre version de la gamme de Java que vous avez donné. Je pense que tu aimerais faire quelque chose comme ceci: <version>[1.7.0,)< version>`.
default-cli
fixe pour moi, merci. J'aime la façon dont Maven exige dur-à-trouver des arcanes des incantations pour faire les choses les plus simples de travail.Pour être juste, c'est la
execution
qui complique cette configuration.enforcer:enforce
également de travailler si vous avez ajouté la configuration du plugin au lieu d'une exécution spécifique. Quelque chose comme ceci:<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.0.0-M2</version> <configuration> <rules> <dependencyConvergence/> </rules> </configuration> </plugin>
OriginalL'auteur user944849