《Maven实战》读书笔记

之前对Maven有些认识,通过这本书《Maven实战》一起系统的回顾一下,总结的东西不会很全面,但都是日常工作中最常用的。


简介:

maven翻译为“知识的积累”,基于项目对象模型(Project Object Model, POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。


优点如下:

简化了项目依赖管理,通过坐标来管理依赖jar包。
易于上手,对于新手可能一个”mvn clean package”命令就可能满足他的工作
便于与持续集成工具(jenkins)整合
便于项目升级,无论是项目本身升级还是项目使用的依赖升级。
有助于多模块项目的开发,一个模块开发好后,发布到仓库,依赖该模块时可以直接从仓库更新,而不用自己去编译。
maven有很多插件,便于功能扩展,比如生产站点,自动发布版本等
跨平台,无论是unix、windows还是mac。


maven的安装:略过,自行度娘


相关概念:

maven本地仓库:默认运行过maven命令后,会生成~/.m2的本地仓库,可以通过修改pom.xml调整本地仓库地址。

maven默认主代码目录:src/main/java,测试代码目录:src/test/java

maven坐标详解:
groupId:定义Maven隶属的实际项目,命名通常与java包名类似,如org.sonatype.nexus
artifactId:Maven项目中的一个模块,通常命名为模块名。
version:当前版本
packaging:打包方式,不定义默认为jar
exclusions:用来排除传递性依赖,传递性依赖可能会引入某个不稳定的依赖,此时想将这个依赖排除在外。

Maven 仓库类型:分为本地仓库和远程仓库,私服是一种特殊的远程仓库,为了节约带宽和时间,内网架设的远程仓库。

Maven的生命周期:clean、default、site三套生命周期。

Maven通过maven-surefire-plugin自动运行单元测试,与Junit、TestNg等单元测试框架结合可以生成丰富的结果报告。
maven-surefire-plugin执行规则:默认执行src/test/java下满足以下条件的类,我们编写用例时按这个标准来命名。
1.Test*.java 子类目下以Test开头的java类
2.*Test.java 子类目下以Test结尾的java类
3.*TestCase.java 子类目下以TestCase结尾的java类

maven与jenkins的持续集成的优点:
可以尽早暴露问题;
减少重复操作;
简化项目发布;
建立团队质量的信心;


相关命令:

1、mvn clean :清理项目生产的临时文件,一般是模块下的target目录

2、mvn package :打包到本项目,会在模块下的target目录生成jar或war等文件,打jar包:mvn jar:jar

3、mvn test:测试命令,或执行src/test/java/下junit的测试用例

4、mvn test -Dtest=”类名”:测试命令,表示只运行某个具体的类,有多个类的话用逗号分隔

5、mvn test -Dtest=”类名”#方法 :表示只运行某个类里边的某个具体的方法

6、mvn install:打包到本地仓库,模块安装命令 ,将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用

7、mvn site:生成文档报告,可在project工程下target文件夹下点击 index.html 就可以看到文档了。

8.编译源代码: mvn compile 将项目代码编辑至target/classes目录下。

9.在最终构建项目前清理项目 mvn clean install

10.maven deploy:打包上传到远程仓库,如:私服nexus等,需要配置pom文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值