maven-javadoc-plugin pauses mvn de presse:effectuer
Je suis en train d'exécuter mvn release:perform
sur trois projets que j'ai publié sur notre serveur Nexus de nombreux fois dans le passé. Soudain, aujourd'hui, sans raison apparente, toutes les versions ne sont pas à exécuter objectif org.apache.maven.plugins:maven-javadoc-plugin:2.10:jar (attach-javadocs)
.
Avec plein de traçage de la pile et de l'enregistrement de débogage activé (-e
et -X
), je vois plusieurs centaines de lignes d'erreurs sur les paquets manquants:
...
package org.apache.http does not exist
package org.slf4j does not exist
package org.joda.time does not exist
...
Cependant, tous ces packages sont dans mon dépôt local et serveur Nexus. De plus, je n'ai pas l'une de ces erreurs de mvn clean install
, et tous les projets (Java web apps) effectivement lancement de l'Ide, sans problèmes—si clairement, je ne suis pas manque des centaines de colis.
Ce qui pourrait être la prévention mvn release:perform
de trouver ces paquets lors de la mvn clean install
et mvn release:prepare
n'as pas de problèmes?
- Je vois le même problème. Il ressemble à une nouvelle version du plugin a été libéré hier, Sun, 21 Sep 2014 mail-archive.com/[email protected]/msg134790.html
- jira.codehaus.org/browse/MJAVADOC-398 Le correctif de ce billet semble avoir causé le problème. jira.codehaus.org/browse/MJAVADOC-406 - ce billet est une réponse, mais c'était en suspens avant la dernière version.
Vous devez vous connecter pour publier un commentaire.
Il semble y avoir une cascade de questions concernant la mise à jour de
maven-javadoc-plugin
. Voir https://issues.apache.org/jira/browse/MJAVADOC-408.Je peux voir quelques avantages à avoir
mvn
utiliser les dernières versions de "built-in" plugins, sauf indication contraire (par opposition à un "épinglé version" pour une Maven version), mais il signifie plug-in les responsables sont obligés de faire des tests de régression à l'encontre de toutes les versions de Maven sur un plugin de presse. Peut-être que quelque chose a été raté.Une solution de contournement serait de spécifier explicitement la version précédente de
maven-javadoc-plugin
dans votre organisation super POM, ou alternativement, le projet POM si il n'est pas possible de changer le super POM pressé:Notre CI rig (Jenkins) a frappé le même problème aujourd'hui. Espérons-le, un nouveau
maven-javadoc-plugin
obtiendrez poussé avec l'arbre des dépendances mises à jour (si c'est bien le problème). FWIW, nous étions sur 3.0.5 (ya, triste pour une variété de raisons).Mise à jour 2014-09-24
Toute cette hubub semble avoir son origine dans la réponse de
maven-javadoc-plugin
responsables d'une encore-à-être-question fermée dansjava-1.8.0-openjdk
dans MJAVADOC-398. Je n'ai aucune idée de pourquoi quelqu'un aurait communiqué une rupture de travail, autour d'un suspens en aval du projet défaut.Mise à jour 2014-10-02
MJAVADOC-406 a été résolu et il y a un
2.10.1
version demaven-javadoc-plugin
disponible dans Maven Central et probablement beaucoup de dépôts près de chez vous.Construit avec de l'onu-épinglé javadoc plugin version devrait être de retour à la normale maintenant.
Morale de l'Histoire
Maven-folk, vous avez été averti. Le cadenas en bas de votre plug-in dépendances, car ils pourraient aller voyous.
P. S., MJAVADOC-408 a été fermé comme un double de MJAVADOC-407.
maven-release-plugin
est dans l'ordre.Une autre façon de résoudre ce problème est d'ajouter la propriété suivante :
dans votre pom.xml
mvn -Dmaven.javadoc.failOnError=false whatever
mvn -Darguments="-Dmaven.javadoc.failOnError=false" whatever
. Lors du passage de plusieurs arguments à la fourche processus, puis se joindre à eux dans un Darguments. Par exemple-Darguments="-DskipITs -Dmaven.javadoc.failOnError=false"
mvn package de la version utilise un profil par défaut. Ce profil par défaut comprend certains des plugins par défaut configurations (comme automatiquement fixez-la documentation javadoc dans le cadre de la construction).
C'est la raison de votre build est seulement échoué sur
mvn release:perform
et pas surmvn clean install
.Si vous souhaitez contrôler au mieux la configuration va être utilisé (par exemple, si vous ne voulez pas javadoc, ou vous voulez fournir votre propre configuration pour la javadoc), vous pouvez essayer de désactiver ce profil par défaut par l'ajout de la configuration:
<useReleaseProfile>false</useReleaseProfile>
ou dans la ligne de commande:
mvn release:perform -DuseReleaseProfile=false
Plus d'infos ici: http://maven.apache.org/maven-release/maven-release-plugin/perform-mojo.html#useReleaseProfile
mvn javadoc:javadoc
à l'échec dans la même manière que lors d'une sortie?Si la documentation javadoc de la génération n'est pas nécessaire, il suffit d'ajouter le saut de la propriété:
J'ai juste eu un travail auparavant construire échouer avec Javadoc plugin 2.9.1.
Dans mon cas, c'était parce que j'ai passé à Java 8 de 7, et la javadoc de l'outil dans 8 semble être plus stricte avec ses vérifications. J'ai eu une fracture de la
{@link ...}
dans mon code que l'outil à partir de 7 a été de laisser travers la.J'ai la version 2.8 et
œuvres