web-dev-qa-db-fra.com

plugins maven-site 3.3 Java.lang.ClassNotFoundException: org.Apache.maven.doxia.siterenderer.DocumentContent

Depuis cette nuit, les plugins de maven site 3.3 cessent de fonctionner.

Essayez de supprimer le référentiel local, mais pas de changement . Maven 3.3.9Java 1.8

Aucune configuration ou dépendance définie dans pom pour les plugins de site

[WARNING] Error injecting: org.Apache.maven.report.projectinfo.CiManagementReport
Java.lang.NoClassDefFoundError: org/Apache/maven/doxia/siterenderer/DocumentContent
53
timmy otool

Je venais juste de commencer à avoir ce problème également pendant les builds. Ce qui a fonctionné pour moi a été de définir spécifiquement le maven-site-plugin et le maven-project-info-reports-plugin avec les numéros de version dans le pom.

<plugin>
  <groupId>org.Apache.maven.plugins</groupId>
  <artifactId>maven-site-plugin</artifactId>
  <version>3.7.1</version>
</plugin>
<plugin>
  <groupId>org.Apache.maven.plugins</groupId>
  <artifactId>maven-project-info-reports-plugin</artifactId>
  <version>3.0.0</version>
</plugin>
65
David

Ceci est causé par le plugin maven-project-info-reports mis à jour à la version 3.0.0 et s'appuie sur doxia-site-renderer 1.8 (et que org.Apache.maven.doxia.siterenderer.DocumentContent cette classe) -plugin: 3.3 s'appuie sur doxia-site-renderer: 1.4 (et ne dispose pas de org.Apache.maven.doxia.siterenderer.DocumentContent)

Nous pouvons spécifier la version spécifique du plugin maven-project-info-reports-reports dans la partie reporting:

<reporting>
        <plugins>           
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.9</version>
            </plugin>           
        </plugins>    
    </reporting>

Ou nous pouvons spécifier maven-site-plugin à la dernière version 3.7.1 comme:

<plugin>
    <groupId>org.Apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <version>3.7.1</version>
</plugin>

dans la construction de pom

44
Changhua

La version du plugin maven site doit également être explicitement définie dans la section de construction. Voici l'exemple:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>3.0.0</version>
            <reportSets>
                <reportSet>
                    <reports>
                        <report>index</report>
                        <report>licenses</report>
                        <report>dependency-info</report>
                    </reports>
                </reportSet>
            </reportSets>
        </plugin>
    </plugins>
</reporting>

<build>
    <plugins>
        <!-- Part of Maven - specified version explicitly for compatibility
             with the maven-project-info-reports-plugin 3.0.0-->
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.7.1</version>
        </plugin>
    </plugins>
</build>
5
TheJeff

Maven 3 ne supporte plus Doxia.

Utilisation

<plugin>
  <groupId>org.Apache.maven.plugins</groupId>
  <artifactId>maven-project-info-reports-plugin</artifactId>
  <version>2.2</version>
</plugin>

Référence: https://maven.Apache.org/plugins/maven-site-plugin/maven-3.html

1
rds

J'ai également frappé cette erreur sur certains de mes travaux de construction aujourd'hui. La solution suggérée ci-dessus, qui ajoute une dépendance concrète pour le plugin maven-site fonctionne et corrige ce problème.

Cependant, ce qui a été souligné pour moi, c’est que j’avais même atteint l’objectif du site MVN, ce que je ne savais même pas que nous courions et que nous n’avons pas vraiment besoin.

Mon correctif consistait donc à supprimer l'objectif du site de mon argument mvn, car bien que le site qu'il crée soit en réalité assez utile, je ne savais pas que nous le créions, nous ne l'avions jamais publié nulle part et nous le supprimions de toute façon.

1
psf

Les versions suivantes de pom.xml ont résolu le problème pour moi:

            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7</version>
            </plugin>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.9</version>
            </plugin>
0
Sergey Bondarev

J'ai essayé de suivre les conseils de Changhua et de définir maven-project-info-reportages-plugin vers la version 3.0.0 et maven-site-plugin vers 3.7.1 dans mon fichier pom, mais j'ai constaté que le site maven était toujours tiré dans la version 3.3. du plugin maven-site, quelle que soit la façon dont je l’ai configuré.

J'ai finalement réalisé que mon problème était lié à la structure de notre projet. Nous avons un pom parent, dans lequel nous définissions la dépendance maven-site-plugin, qui a ensuite été héritée par les enfants poms. Cependant, le fichier pom de construction était séparé et ne définissait pas du tout maven-site-plugin, ce qui permettait à maven d'extraire lui-même la version 3.3. J'ai ajouté la dépendance maven-site-plugin (version 3.7.1) au fichier de génération de pom, de sorte qu'elle existe maintenant dans le fichier de génération de pom et dans le fichier pom parent. La génération utilise maintenant correctement la version 3.7.1, et passe à nouveau.

0
mbreck

Vous devez vraiment ajouter plus d’informations (je n’ai pas voté BTW).

IIRC; Si vous ne spécifiez pas de version pour un plug-in lié aux phases du cycle de vie, vous obtiendrez la dernière version.

Essayer:

  • Mise à niveau vers la dernière version de maven - 3.5.4ATOW
  • Exécuter mvn help:effective-pom et vérifier quelles versions sont En cours de résolution - si vous avez un ancien journal de CI ou ailleurs, à comparer avec .. 
  • Explicité définissant la maven-site-plugin versionin pluginManagement section
  • Ajouter une dépendance à maven-site-plugin (voir ci-dessous)

org/Apache/maven/doxia/siterenderer/DocumentContent peut être trouvé dans doxia-site-renderer:

    <dependency>
        <groupId>org.Apache.maven.doxia</groupId>
        <artifactId>doxia-site-renderer</artifactId>
        <version>1.8.1</version>
    </dependency>

Je pense que définir explicitement la version de maven-site-plugin sur tout ce que vous utilisiez (incidemment) fonctionnera.


Edit: Je recherchais un problème similaire dans les tests de construction du plug-in maven. Définir explicitement la version maven-site-plugin (3.7.1 ATOW) dans le pom d'intégration utilisé par maven-invoker-plugin fonctionnait pour moi.

0
earcam