Сайт Maven (Maven 3) создает пустую папку сайта
Я пытаюсь создать базовый сайт 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>
Хмм, странно, что нет выхода. Поэтому, когда я проверяю 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?
Ответы
Ответ 1
Возможно, вы можете попробовать использовать 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>
Ответ 2
У меня была такая же проблема. Я нашел сообщение в блоге об этой теме.
Цитата в блоге (акцент мой):
Если вы использовали раздел отчетов в файле pom.xml для генерации показателей качества кода, отчетов javadoc и т.д., вы можете немного потрудиться, чтобы перенести эту функцию в Maven 3. Действительно, отчетность и разделы reportSets устарели (, это не вызовет ошибку с Maven 3, оно будет просто проигнорировано) и было заменено секцией reportPlugins в блоке конфигурации maven-site- сам плагин.
Игнорирование старого <reporting>
без предупреждения о его устаревании кажется немного грубым, но в любом случае...
Итак, вы просто перемещаете свои старые плагины отчетов в раздел конфигурации нового плагина maven-site.
A раздел сайта maven-plugin объясняет, что они удалили всю логику отчетности из ядра Maven, чтобы "отделить ядро Maven от Doxia и разрешить разработку произвольных систем отчетности". Имеет смысл.
Ответ 3
Использование плагина сайта (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, вы можете использовать завершение кода в разделе версии плагина, чтобы предоставить вам список его текущих версий. Очень удобно.