Вопрос

Я пытаюсь создать базовый сайт maven с помощью плагина maven site.Поэтому я добавил это в свой пом:

<reporting>
    <plugins>
        <!--JavaDoc setup-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <defaultAuthor>Leon Blakey</defaultAuthor>
                <defaultVersion>${project.version}</defaultVersion>
                <links>
                    <link>http://download.oracle.com/javase/6/docs/api</link>
                </links>
            </configuration>
        </plugin>
    </plugins>
</reporting>

И побежал mvn site --errors

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pircbotx 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.688s
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011
[INFO] Final Memory: 5M/13M
[INFO] ------------------------------------------------------------------------
W:\programming\pircbot-hg>

Хм, странно, что нет выходных данных.Поэтому, когда я проверяю target / site, он пуст.Единственными папками являются images / , css / и WEB-INF / , заполненные некоторыми общими изображениями.Никакого javadoc и никакого сайта.

Это воспроизводимо с помощью mvn site:site и mvn org.apache.maven.plugins:maven-site-plugin:2.2:site (очевидно, maven хочет использовать только 2.0.1 по умолчанию)

Что странно, так это то, что я могу вернуться к maven 2.2.1 и успешно сгенерировать сайт.Но когда я использую 3.0.1-RC1 (поставляется с Netbeans), это приводит к сбою.

Что я делаю не так, что привело бы к сбою плагина сайта в версии 3.0.1, но не 2.2.1?

Это было полезно?

Решение

Возможно, вы можете попробовать использовать Плагин Maven сайта 3.x. Анкет Вы можете сделать это, добавив следующее в pom.xml

<build>
    ...
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.0-beta-3</version>
        </plugin>
    </plugins>
</build>

Другие советы

У меня была такая же проблема.Я нашел запись в блоге по поводу темы.

Цитирую блог (курсив мой):

Если вы использовали раздел отчетов файла pom.xml для генерации показателей качества кода, отчетов javadoc и так далее, возможно, вам придется немного поработать над переносом этой функции в Maven 3.Действительно, разделы reporting и reportSets устарели (это не вызовет ошибку с Maven 3, она просто будет проигнорирована), и были заменены разделом reportPlugins в блоке конфигурации самого maven-site-plugin.

Игнорирование старого <reporting> без какого-либо предупреждения о том, что он устарел, кажется немного грубым, но в любом случае...

Таким образом, вы, по сути, просто перемещаете свои старые плагины для отчетов в раздел конфигурации нового maven-site-plugin.

A раздел сайта maven-plugin-site объясняет , что они удалена вся логика отчетности из ядра Maven чтобы "отделить ядро Maven от Doxia и разрешить разработку произвольных систем отчетности". Имеет смысл.

Использование плагина для сайта ( http://maven.apache.org/plugins/maven-site-plugin/ ) с Maven 3, наконец, кажется, все решено.Была выпущена версия (не бета-версия), и появилась возможность использовать стиль версии 2. <reporting> структура в объявлении pom.xml была добавлена обратно.

Хотя (как обычно) сложно ориентироваться в содержательной, но неорганизованной и перекрывающейся документации о Maven 3 и плагине сайта, одна страница - http://maven.apache.org/plugins/maven-site-plugin/maven-3.html - заявляет, что старый стиль теперь рекомендуется использовать вместо нового стиля "плагин для плагина сайта":

Примечание: В Maven 3 новый формат не поддерживает наследование конфигурации плагинов отчетов:смотрите MSITE-484.Этот формат был технически необходим для удаления логики отчетов из Maven 3, но новый механизм наследования все еще необходимо добавить в Maven 3, чтобы сделать его таким же гибким, как старый формат.Таким образом, новый формат пока не готов к непосредственному использованию.

Страница с примером http://maven.apache.org/plugins/maven-site-plugin/examples/configuring-reports.html для настройки отчетов даже не упоминается "новый" метод форматирования.

Не уверен, что это в форме "наилучшей практики", но пример раздела отчетов pom, который работает для меня с парой дополнительных отчетов, выглядит следующим образом;выберите свои собственные плагины по желанию.

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

    <reporting>
        <plugins>

            <!-- Default Site Pages -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.4</version>
            </plugin>

            <!-- Java Documentation -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.8</version>
            </plugin>

            <!-- Source Code Cross-Reference -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.3</version>
            </plugin>
            ...
        </plugins>
    </reporting>

Кроме того, если вы используете плагин m2e в Eclipse для редактирования своих POM, то вы можете использовать завершение кода в разделе версии плагина, чтобы получить список его текущих версий.Очень удобно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top