【Maven实战】之生成项目站点
来源:互联网 发布:js 变量对象 编辑:程序博客网 时间:2024/05/16 05:20
最简单的站点
- 通过【maven-site-plugin】生成
- Pom配置
Maven3:<pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.3</version> </plugin> </plugins></pluginManagement>注意:如果报缺少java.lang.NoClassDefFoundError: org/sonatype/aether/graph/DependencyFilter则把maven-site-plugin从3.0升级到3.3+
- 执行Maven命令
mvn site
项目报告插件
JavaDoc
- 基于项目源代码生成JavaDocs文档
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>2.7</version> </plugin> </plugins> </reporting>
Source Xref
- 将源代码通过web形式出来,方便团队之间的交流
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </reporting>
- 如果想在聚合模块整合所有的源码,则需添加格外的aggregate配置
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> <version>2.2</version> </plugin> </plugins> </reporting>
CheckStyle
- 帮助Java开发人员遵循编码规范的工具
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.5</version> <configuration> <configLocation>config/maven_checks.xml</configLocation> </configuration> </plugin> </plugins> </reporting>
- 有以下四种编码规则
- config/sun_checks.xml sun定义的编码规范(默认值)
- config/sun_checks.xml Maven社区定义的编码规范
- config/turbine_checks.xml Turbine定义的编码规范
4. config/avalon_checks.xml Avalon定义的编码规范
PMD
- 一款强大的Java源代码分析工具,能够寻找代码中的问题,包括潜在的Bug,无用代码,可优化代码,重复代码以及过于复杂的表达式。
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.5</version> </plugin> </plugins> </reporting>
- 支持聚合报告
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>2.5</version> <configuration> <aggregate>true</aggregate> </configuration> </plugin> </plugins> </reporting>
ChangeLog
- 基于版本控制系统中就近的变更记录生成三份变更报告,分别是:
- Change Log 基于提交的变更报告,包括每次提交的日期,文件,作者,注释等信息
- Developer Activity 基于作者的变更报告
1. File Activity 基于文件的变更报告
- 配置SCM配置
<scm> <connection>scm:svn:http://192.168.1.103/app/trunk</connection> --表示只读的scm地址 <developerConnection>scm:svn:https://192.168.1.103/app/trunk</developerConnection>--表示一个可写的scm地址 <url>http://192.168.1.103/account/trunk</url>--表示可在浏览器访问的url地址</scm>
- 配置reporting
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> <version>2.2</version> <configuration> <!--修改默认值--> <type>range</type> <range>60</range> </configuration> </plugin> </plugins> </reporting>
Cobertura
- 生成代码覆盖率报告
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> </plugin> </plugins> </reporting>
部署站点
- 三种部署站点协议
DAV
<project> ... <distributionManagement> <site> <id>app-site</id> <url>dav:https://www.baidu.com/sites/app</url> </site> </distributionManagement> ...</project>
- 如果需要认证,则在【setting.xml】配置server
<servers> <server> <id>app-site</id> <username>demo</username> <password>demo</password> </server></servers>
FTP
- 需要额外配置拓展插件【wagon-ftp】
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.3</version> </plugin> </plugins> <extensions> <extension> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-ftp</artifactId> <version>1.0-beta-6</version> </extension> </extensions> </build> <distributionManagement> <site> <id>app-site</id> <url>ftp:https://www.baidu.com/sites/app</url> </site> </distributionManagement> ...</project>
SCP
<project> ... <distributionManagement> ... <site> <id>app-site</id> <url>scp:https://www.baidu.com/sites/app</url> </site> </distributionManagement> ...</project>
- 注意:与dav和ftp不同的是,scp协议通常使用密钥进行认证,因此在【setting.xml】配置认证信息时,有可能需要【passphrase】和【privateKey】,如下
<servers> <server> <id>app-site</id> <passphrase>demo</passphrase> <privateKey>demo</privateKey> </server></servers>
- 布置完后,只需要输入以下命令就能够让Maven部署站点:
mvn clean site-deploy
阅读全文
0 0
- 【Maven实战】之生成项目站点
- Maven生成项目站点
- maven项目站点生成
- maven项目站点生成
- Maven生成项目站点
- Maven生成项目站点(一)
- Maven生成项目站点(二)
- Maven生成项目站点(一)
- Maven笔记10-Maven生成项目站点
- Maven:站点生成
- maven生成项目信息站点的信息种类
- maven3实战之maven使用入门(使用archetype生成项目骨架)
- Maven项目站点报告
- 网上商城项目实战之maven热部署
- Maven实战之Web项目部署
- Maven站点生成与发布
- 《Maven实战》笔记二:使用Archetype生成项目骨架
- [Maven实战](5)Archetype生成项目骨架
- 决策树熵与python实现
- Slave_IO_Running: Connecting原因汇总
- bzoj2253 [2010 Beijing wc]纸箱堆叠(CDQ+dp)
- 决策树剪枝简单python实现
- 学习linux,下载CentOs
- 【Maven实战】之生成项目站点
- 决策树剪枝中的损失函数的实现
- 那些年我们追过的网络库(PartI)
- 【unix】alarm,pause函数 实现sleep函数的一些问题(SIGALRM信号跟其他信号如(SIGINT))交互的问题
- cxf
- mysql group_concat( 读取出来的数据长度限制
- centos7安装mysql5.6
- kafka 1.0 中文文档(二) -- APIS
- python 递归算阶乘