update time:2019-2-27 Author:要你命三千又三千 type:学习笔记
文章目录
背景
Maven的pom 中包含了大量的项目信息,用户可以让Maven自动生成一个web站点,以web的形式发布这些消息。
使用的环境是:Maven-maven-3.6.0+ecplise 4.6
使用步骤
第一步:添加插件
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
</plugins>
</build>
第二步:到项目目录下,运行命令
注解:在此之前需要配置Maven系统环境。
mvn site
第三部:打开查看信息
找到项目所在的目录(项目所在位置可以通过项目右击–>属性,查看)
常见问题
问题一:出现某个类找不到
参考地址:
https://stackoverflow.com/questions/18442753/a-required-class-was-missing-while-executing-org-apache-maven-pluginsmaven-war
A required class was missing while executing org.apache.maven.plugins:maven-war-plugin:2.1.1:war
等错误
问题分析:一般情况是Maven下载某个包应为网络等原因终止,或者Maven与插件版本问题
解决方法:
关闭ecplise删除 ~/.m2/repository/org/apache/maven 文件,重新打开ecplise,再次下载Maven中的包(也可以找到具体的包,删除,重新下载)。
Try to delete the maven folder at ~/.m2/repository/org/apache/maven and build your project again to force the maven libraries be downloaded. This worked for me the last time I faced this java.lang.NoClassDefFoundError: org/apache/maven/shared/filtering/MavenFilteringException.
方法二:跟新到最新的Maven-site-plugin.jar插件的版本。(具体的版本在Maven仓库中查找)
常见的项目报告插件
插件所在的配置位置
1. javadoc
步骤一:配置pom.xml文件
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</reporting>
第二步:配置javadoc命令行
<configuration>
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
</configuration>
第三步骤:配置路径
<properties>
<java.home>C:/Program Files/Java/jdk1.8.0_161</java.home>
</properties>
配置后的结果是:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myprojecttwo</groupId>
<artifactId>twor</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>twor Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
<java.home>C:/Program Files/Java/jdk1.8.0_161</java.home>
</properties>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
</configuration>
</plugin>
</plugins>
</reporting>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
</plugins>
</pluginManagement>
<finalName>twor</finalName>
</build>
</project>
问题一:
出现javadoc命令行目录错误,的解决方式重新配置{java.home}的值。
问题二:出现字符不可映射的问题。
问题说明:在创建java doc的时候,需要严格按照格式进行创建。然后才能创建成功。
package twor;
/**
*
* @version 1.0
* @author Administrator
*
*/
public class Hhtt {
}
打开target目录下的HTML文档。查看结果。
补充其他:
具体内容参看Maven实战 15章
PMD:java源代码分析工具
changelog:基于版本控制工具生成经三次的变更报告。
cobertura:生成测试覆盖率报告,集中到Maven的站点中。
checkstyle:java编码规范工具。