您的位置:首页 > 其它

maven-site-plugin笔记——2.3到3.0之间的变化

2012-01-09 00:48 519 查看
刚才正在配置一个项目的报告输出,在配置pom的时候按照maven2的做法在<reporting>节点下加上了pmd、checkstyle等plugin

<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd.plugin.version}</version>
</plugin>
</reporting>


却发现在target/site目录下除了image及css文件夹之外,一个html也没有,而且预期的报告也没有生成,我就纳闷了

几经Google后,终于查到,原来maven-site-plugin在3.0版本采用了一种全新的配置形式,导致不能接受<reporting>节点下声明的报告插件,这一点在其官方网站上有介绍:http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats

解决办法就是,将<reporting>内的plugin声明,转换为如下形式:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
</reportPlugins>
</configuration>
</plugin>


注意,这里的plugin声明已经成为了maven-site-plugin中的一个configuration项,已不再享有原来plugin那种继承规则,在可视化编辑器内也再没有语法提示。

还有一点就是,在3.0版本中,在maven-site-plugin内声明的插件是可以忽略version的,maven-site-plugin会按照如下顺序查找:

1. build.plugins

2. build.pluginsManagement

3.repository(在repository中查找可能会使用Snapshot的插件,和maven插件一样规则)

至此,改动已经完成,运行mvn clean site即可看见project-reports.html文件,打开所期望的报告页面了。

但是,index.html呢。。。

让index.html回来,请看《maven-site-plugin笔记——内部工作原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: