Сайт Maven (Maven 3) создает пустую папку сайта - PullRequest
11 голосов
/ 13 января 2011

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

<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>

Хм, странно, что нет выхода. Поэтому, когда я проверяю цель / сайт, он пуст. Единственными папками являются 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?

Ответы [ 3 ]

12 голосов
/ 13 января 2011

Возможно, вы можете попробовать использовать Maven Site Plugin 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>
8 голосов
/ 20 августа 2011

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

Цитирование блога (выделено мое):

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

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

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

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

7 голосов
/ 23 января 2012

Использование плагина сайта (http://maven.apache.org/plugins/maven-site-plugin/) с Maven 3 окончательно решено.(Не бета) версия была выпущена, и возможность использовать структуру стиля <reporting> версии 2 в объявлении 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, то вы можете использовать завершение кода в разделе версии плагина, чтобы дать вамсписок его текущих версий.Очень удобно.

...