概述

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. Docker 核心技术

    docker是什么?为什么会出现? 容器虚拟化技术:轻量级的虚拟机(但不是虚拟机) 开发:提交代码 ——> 运维:部署 在这中间,因为环境和配置,出现问题 ——> 把代码/配置/系统/数据 ...

  2. 通过Blazor使用C#开发SPA单页面应用程序(2)

    今天我们尝试创建一个默认的Blazor应用. 1.安装 .Net Core 3.0需要Visual Studio 2019 的支持. 安装.Net Core 3.0 预览版 SDK版本,注意预览版对应 ...

  3. 爬虫之爬取电影天堂(request)

    #需要通过代码打开https://www.dytt8.net/网站,拿到网站内容 from urllib.request import urlopen #拿到urlopen import re con ...

  4. python练习题-1

    1.输出正方形 x=input("请输入:") x=int(x) for i in range(0,x): if (i==0) or (i==x-1): print("* ...

  5. ZOJ 3408 Gao

    ZOJ题目页面传送门 给定一个有向图\(G=(V,E),n=|V|,m=|E|\)(可能有重边和自环,节点从\(0\)开始编号),以及\(q\)组询问,对于每组询问你需要回答有多少条从节点\(0\)开 ...

  6. JS扫雷小游戏

    HTML代码 <title> 扫雷 </title> <!-- ondragstart:防拖拽生成新页面 oncontextmenu:屏蔽右键菜单--> <b ...

  7. Jenkins将ASP.NETCore部署到Azure

    首先需要获得Azure上App-service 的porfile. 登录portal 选到app,点击Get publish pofile 将得到一个 ****.PublishSettings,注意这 ...

  8. 啥?修改下 URL 就能高速下载网盘资源和百度文库?

    下载百度资源和百度文库资料是大家常有的需求,不过多数方法都需要下载些软件什么的才能实现. 今天给大家介绍一个简单方法,修改下 URL 就能直接在浏览器中高速下载网盘资源和百度文库资料. [下载百度网盘 ...

  9. JS 一些有意思的写法

    对于 C语言中的 &&(有一个为假,返回的为false) 和 || (有一个为真,即为真),但是对于 JS中的 && 和 || 运算是有所不同的. 详情见下面: &am ...

  10. POST提交数据方式

    application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了.浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 app ...