概述

Maven不仅仅是一个自动化构建工具和一个依赖工具,还能够帮助聚合项目信息。POM可以包含各种项目信息、如项目描述、版本控制系统地址、缺陷跟踪系统地址、许可证信息、开发者信息等。 
另Maven社区提供了大量插件,能让用户生成各种各样的项目审查报告,包括测试覆盖率、静态代码分析、代码变更等。

生成站点

对maven2来说,站点生成的逻辑是Maven核心的一部分。对Maven3来说,这部分逻辑已经从核心中移除,需要使用3.x版本的maven-site-plugin

maven3生成站点示例

<pluginManagement>
<plugins>
<plugn>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-1</version>
</plugn>
</plugins>
</pluginManagement>

maven2生成站点示例

<pluginManagement>
<plugins>
<plugn>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.1.1</version>
</plugn>
</plugins>
</pluginManagement>

配置完成后,运行mvn site就能直接生成一个最简单的站点。

站点的可配置信息

  • 关于(about):项目描述
  • 持续集成(continuous integration):项目持续集成服务信息
  • 依赖(dependencies):项目的依赖信息,包括传递性依赖、依赖图、依赖许可证以及依赖文件的大小、所包含的类数目,此内容可以使用插件maven-dependency-site生成
  • 依赖收敛(dependency convergence):只针对多模块项目生成,提供一些依赖健康状况分析,如各个模块使用的依赖版本是否一致、项目中是否有SNAPSHOT依赖
  • 依赖管理(dependency management):基于项目的依赖管理配置生成的报告
  • 问题追踪(issue tracking):项目的问题追踪系统信息
  • 邮件列表(mailing lists):项目的邮件列表
  • 插件管理(plugin management):项目所使用插件的列表
  • 项目许可证(project license):项目许可证
  • 项目概述(project summary):项目概述包括坐标、名称、描述等
  • 项目团队(project team):项目团队信息
  • 源码仓库(source repository):项目的源码仓库信息

另选择性的生成项目信息项,可使用插件maven-project-info-reports-plugin

<project>
...
<reporting>
<plugins>
<plugn>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.1.2</version>
<reportSets>
<reportSet>
<reports>
<report>dependencies</report>
<report>project-team</report>
<report>issue-tracking</report>
<report>license</report>
</reports>
</reportSet>
</reportSets>
</plugn>
</plugins>
</reporting>
...
</project>

其他项目报告插件介绍

生成项目源码JavaDocs文档

maven-javadoc-plugin

Source Xref可以随时随地打开浏览器访问项目的最新源码

maven-jxr-plugin

CheckStyle帮助Java开发遵循编码规范的工具,能根据一套规则自动检查Java代码

maven-checkstyle-plugin

PMD是一款强大的Java源代码分析工具,能够寻找代码中的问题,包括潜在的bug、无用代码、可优化代码、重复代码以及过于复杂的表达式

maven-pmd-plugin

ChangeLog基于版本控制生成三份变更报告

maven-changelog-plugin

Cobertura生成测试覆盖率报告

cobertura-maven-plugin

转自:https://blog.csdn.net/fengyunhaitan/article/details/51779749

Maven生成项目站点的更多相关文章

  1. 笔记:Maven 生成项目站点

    Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...

  2. Maven 生成项目站点

    Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...

  3. maven生成项目慢解决办法

    maven生成项目慢,原因:在线更新archetype-catalog.xml文件,从Apache中央仓库. 解决办法,手动下载,放到maven环境. 备用下载地址: https://files.cn ...

  4. Maven生成项目文档

    Maven项目可以通过maven-site-plugin插件生成项目文档,无论什么项目都可以生成. 执行命令: mvn site 生成完成的输出目录在${basedir}/target/site文件夹 ...

  5. 今天遇到一个怪异的问题,maven生成项目war包中有一个Jar包不是我指定的版本,运行时会找不到符号,o(╥﹏╥)o

    我要求的jar包: 这是我parent项目中pom文件的依赖管理 这是我要生成war包那个工程最后依赖的jar包,这个时候它们的版本号还是一致的 最后项目生成的: 下图是Dmaven.test.ski ...

  6. Maven用项目模板生成项目

    Archetype插件是Maven生成项目的项目模板,项目模板就是一个框,把文件夹这些定好,然后就可以在上开写具体逻辑等等. 最常用的命令: mvn archetype:generate 这个是生成一 ...

  7. Maven之自定义archetype生成项目骨架(一)

      Maven之自定义archetype生成项目骨架(一) 标签: mavennexus插件 2015-07-15 16:40 2443人阅读 评论(0) 收藏 举报  分类: Maven技术(9)  ...

  8. 一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。

    一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目. 使用Maven构建项目“mvn package” 来构建项目 使用Maven清理项目“mvn clean” 来清理项目 ...

  9. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

随机推荐

  1. 定时器任务django-crontab的使用【静态化高频率页面,增加用户体验】【系统的定时器,独立于项目执行】【刘新宇】

    页面静态化 思考: 网页的首页访问频繁,而且查询数据量大,其中还有大量的循环处理. 问题: 用户访问首页会耗费服务器大量的资源,并且响应数据的效率会大大降低. 解决: 页面静态化 1. 页面静态化介绍 ...

  2. zookeeper基本知识入门(一)

    之前我们在搭建hadoop分布式环境的时候用到过Zookeeper注册hadoop服务.那么到底Zookeeper在分布式环境中发挥了什么作用呢,这次我们就来讨论这个问题. 在分布式系统中通常都会有多 ...

  3. Json串与实体的相互转换 (不依赖于jar包 只需Eclipse环境即可)

    Json串与实体的相互转换 (不依赖于jar包 只需Eclipse环境即可) 最近学习了javaWeb开发,用的是ssh框架里面自己整合了hibernate 和Struts2 和spring框架,其中 ...

  4. python 闭包,装饰器,random,os,sys,shutil,shelve,ConfigParser,hashlib模块

    闭包 def make_arerage(): l1 = [] def average(price): l1.append(price) total = sum(l1) return total/len ...

  5. Linux杀不死的进程之CPU使用率700%

    1. 问题发现 [root@zwlbs3 ~]# top i. 发现有个进程CPU使用率居然700%,COMMAND 是一些随机的字符串组成,完了~ 中标了:第一想到就是“沙雕”它,kill 命令给我 ...

  6. Lasso估计学习笔记(二)

    先看Lasso估计学习笔记(一),这篇是续的上一篇

  7. 性能测试学习第六天-----JMeter拓展应用

    一.TCP取样器 服务器名称或IP:填写socket接口的ip 端口号:写socket接口的端口号 Re-use connection:是否重用链接,如果选择,同一个线程执行的所有请求都会使用一个tc ...

  8. 搭建nuget 服务器

    前言 搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显, 1.代码保密 2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用 3.可进行版本任意切换提高 ...

  9. 本地项目上传到github上最直接步骤

    1.首先得有一个git账号(本地安装git) 2.git上创建一个project 3.回到本地你要提交文件夹位置 4.按住shift + 鼠标右键 选择在此处打开命令窗口 5.输入命令  git in ...

  10. python 11 迭代器

    目录 1. 第一类对象的特点 2. 格式化 3.迭代器 3.1 可迭代对象 3.2 迭代器 4. 递归 1. 第一类对象的特点 #1. 函数名可以当作值被赋值给变量 def func(): print ...