Плагины для сайта maven 3.3 java.lang.ClassNotFoundException: org.apache.maven.doxia.siterenderer.DocumentContent - PullRequest
0 голосов
/ 29 июня 2018

С этой ночи плагины сайта maven 3.3 перестают работать.

Попробуйте удалить локальный репозиторий, но без изменений. Maven 3.3.9 Ява 1,8

Конфигурации или зависимости не определены в pom для плагинов сайта

[WARNING] Error injecting: org.apache.maven.report.projectinfo.CiManagementReport
java.lang.NoClassDefFoundError: org/apache/maven/doxia/siterenderer/DocumentContent

Ответы [ 8 ]

0 голосов
/ 21 января 2019

Следующие версии в pom.xml устранили проблему для меня:

            <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 голосов
/ 26 июля 2018

Версия подключаемого модуля maven site также должна быть явно указана в разделе сборки. Вот пример:

<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>
0 голосов
/ 29 августа 2018

Maven 3 больше не поддерживает Doxia.

Используйте

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

Ссылка: https://maven.apache.org/plugins/maven-site-plugin/maven-3.html

0 голосов
/ 29 июня 2018

Я попытался последовать совету Чанхуа и определить maven-project-info-reports-plugin для версии 3.0.0 и maven-site-plugin для 3.7.1 в моем файле pom, но обнаружил, что сайт maven все еще тянет в версии 3.3 maven-site-plugin, независимо от того, как я его установил.

Я наконец понял, что моя проблема связана со структурой нашего проекта. У нас есть родительский pom, в котором мы определяли зависимость maven-site-plugin, которая затем наследовалась дочерними poms. Тем не менее, файл сборки pom был отдельным и вообще не определял maven-site-plugin, что позволяло maven самостоятельно загружать версию 3.3. Я добавил зависимость maven-site-plugin (версия 3.7.1) в файл pom сборки, чтобы он теперь существовал как в файле pom сборки, так и в родительском файле pom, и теперь сборка выполняется корректно с использованием версии 3.7.1, и снова проходит.

0 голосов
/ 29 июня 2018

Я также столкнулся с этой ошибкой на некоторых из моих работ по сборке сегодня. Исправление, предложенное выше, добавление конкретной зависимости для maven-site-plugin работает и исправляет эту проблему.

Однако, что мне показало, это то, что у меня даже была цель на сайте mvn, о которой я даже не подозревал, и мы на самом деле не нуждаемся.

Поэтому я решил удалить цель сайта из моего mvn arg, поскольку, хотя созданный им сайт на самом деле весьма полезен, я никогда не знал, что мы его создаем, мы нигде не публиковали его и фактически все равно удаляли каждую сборку.

0 голосов
/ 29 июня 2018

Это вызвано тем, что maven-project-info-reports-plugin обновлен до 3.0.0 и зависит от doxia-site-renderer 1.8 (и имеет org.apache.maven.doxia.siterenderer.DocumentContent этого класса), но maven-site-plugin: 3.3 зависит от doxia-site-renderer: 1.4 (и не имеет org.apache.maven.doxia.siterenderer.DocumentContent)

Мы можем указать конкретную версию плагина maven-project-info-reports-plugin в отчетной части:

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

Или мы можем указать maven-site-plugin для последней версии 3.7.1, например:

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

в сборке POM

0 голосов
/ 29 июня 2018

Я только начал получать эту проблему также во время сборок. Для меня сработало конкретное определение maven-site-plugin и maven-project-info-reports-plugin вместе с номерами версий в 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>
0 голосов
/ 29 июня 2018

Вам действительно нужно добавить больше информации (я не понизил BTW).

IIRC; если вы не укажете версию для плагина, привязанного к этапам жизненного цикла, вы получите самую последнюю версию.

Попытка:

  • Обновление до последней версии maven - 3.5.4 ATOW
  • Запуск mvn help:effective-pom и проверка, какие версии на самом деле решается - если у вас есть старый журнал от CI или где-либо еще сравнить с ..
  • Простота установки версии maven-site-plugin в pluginManagement разделе
  • Добавление зависимости к maven-site-plugin (см. Ниже)

org/apache/maven/doxia/siterenderer/DocumentContent можно найти в doxia-site-renderer:

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

Я подозреваю, что установка версии maven-site-plugin на то, что вы использовали (случайно), будет работать.


Редактировать: Преследовал похожую проблему в тестировании сборки плагинов maven, явно установив maven-site-plugin версию (3.7.1 ATOW) в интеграционном модуле, используемом maven-invoker-plugin, сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...