Maven站点(Maven 3)生成空站点文件夹
-
10-10-2019 - |
题
我正在尝试使用Maven站点插件创建一个基本的Maven站点。所以我将其添加到我的pom中:
<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>
嗯,奇怪的是没有输出。因此,当我检查目标/站点时,它是空的。唯一的文件夹是图像/,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中。确实,报告和报告集部分部分已被弃用(它不会导致Maven 3的错误,它将被忽略),并已被Maven Site-Plugin本身的配置块中的ReportPlugins部分替换。
忽略旧的 <reporting>
没有任何警告,对此不屑一顾似乎有些粗鲁,但是无论如何...
因此,您基本上只是将旧的报告插件移至新的Maven Site-Plugin的配置部分。
一个 毛ven木位点的一部分 解释了他们 从Maven的核心中删除所有报告逻辑 “将Maven Core与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>
顺便说一句,如果您使用Eclipse中的M2E插件来编辑POMS,则可以在插件的版本部分中使用代码完成,为您提供其当前版本的列表。非常便利。