Maven生成项目站点
概述
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生成项目站点的更多相关文章
- 笔记:Maven 生成项目站点
Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...
- Maven 生成项目站点
Maven 不仅仅时一个自动化构建工具和一个依赖管理工具,他还能够帮助聚合项目信息,促进团队间的交流,POM 可以包含各种项目信息,如项目描述.版本控制系统地址.缺陷跟踪系统地址.许可证信息.开发者信 ...
- maven生成项目慢解决办法
maven生成项目慢,原因:在线更新archetype-catalog.xml文件,从Apache中央仓库. 解决办法,手动下载,放到maven环境. 备用下载地址: https://files.cn ...
- Maven生成项目文档
Maven项目可以通过maven-site-plugin插件生成项目文档,无论什么项目都可以生成. 执行命令: mvn site 生成完成的输出目录在${basedir}/target/site文件夹 ...
- 今天遇到一个怪异的问题,maven生成项目war包中有一个Jar包不是我指定的版本,运行时会找不到符号,o(╥﹏╥)o
我要求的jar包: 这是我parent项目中pom文件的依赖管理 这是我要生成war包那个工程最后依赖的jar包,这个时候它们的版本号还是一致的 最后项目生成的: 下图是Dmaven.test.ski ...
- Maven用项目模板生成项目
Archetype插件是Maven生成项目的项目模板,项目模板就是一个框,把文件夹这些定好,然后就可以在上开写具体逻辑等等. 最常用的命令: mvn archetype:generate 这个是生成一 ...
- Maven之自定义archetype生成项目骨架(一)
Maven之自定义archetype生成项目骨架(一) 标签: mavennexus插件 2015-07-15 16:40 2443人阅读 评论(0) 收藏 举报 分类: Maven技术(9) ...
- 一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。
一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目. 使用Maven构建项目“mvn package” 来构建项目 使用Maven清理项目“mvn clean” 来清理项目 ...
- 利用Maven把项目生成jar包供其他项目使用
每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...
随机推荐
- python --- 零碎
1.匿名输出: lambda x : print(x))(100) #冒号前输入量 ,冒号后是输出量结果:100 2.导入调用其他python文件: test1.py #第一个python文件 def ...
- XAMPP/LAMPP到底在哪里启用APACHE2的rewrite
XAMPP/LAMPP是一套我们在个人建站过程中非常便捷常用的集成环境.特别是对于学习PHP开发和建站非常便捷. 最近在使用CentOS7环境下的XAMPP过程中,遇到了一个问题,也就是apache2 ...
- 100天搞定机器学习|Day23-25 决策树及Python实现
算法部分不再细讲,之前发过很多: [算法系列]决策树 决策树(Decision Tree)ID3算法 决策树(Decision Tree)C4.5算法 决策树(Decision Tree)CART算法 ...
- SBT安装及命令行打包spark程序
1.从https://www.scala-sbt.org/download.html官网上寻找所需要的安装包 可以直接本地下载完扔进去也可以wget路径,在这里我用的是sbt1.2.8版本的,下载到/ ...
- 消息中间件——RabbitMQ(二)各大主流消息中间件综合对比介绍!
前言 消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一.当今市面上有很多主流的消息中间件,如老牌的Act ...
- (十九)c#Winform自定义控件-停靠窗体
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- int string类型互转
int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i); ...
- Python-demo(photo)
import osimport urllib import requests#import wximport time from fake_useragent import UserAgentfrom ...
- 浅析ebtables的概念和一些基本应用
一.ebtables 是什么? ebtables和iptables类似,都是Linux系统下网络数据包过滤的配置工具. 为什么叫配置工具呢? 是因为他们只制定规则,具体的实施者是内核!也就是说 ...
- 移动端 rem单位做适配的 媒体查询节点
@media screen and (min-width:300px){html,body,input{font-size:15px}}@media screen and (min-width:320 ...