Maven是什么

由于自己是从Android转自动化测试,所以以前从来没有接触过Maven项目,虽然刚进公司不久就开始做项目,但是maven还是仅限于用,只知其一,不知其二,所以打算将Maven系统的学习下,以此记录,也算是加强自己的知识

1. maven多模块管理 方式一

也就是父工程和子工程的关系,其实就是子工程的pom继承父工程的pom。如下图,注意选择父工程,则GroupId和version已经指定好,不需要我们再去写,因为我们是继承了父工程


图一


图二

父工程的要求:1 删除src文件 2 packaging标签设置为pom,如果没有packaging标签,默认的打包方式是jar

父工程添加的依赖,子模块会无条件添加,保证子模块引入的Pom都是相同的。但是这样的话,子模块会引入一些不需要的dependency,很多余。所以在父pom里面引入dependencyManagement. 如图三,则在子工程,如图四当中引入的时候,我们可以不用写version,默认使用的是父工程的版本号,如果在子工程中指定了版本号的话,说明不用父工程的。

图三
图四

父工程的pom中标签properties可以指定各个dependency的版本号,各个dependecy只需要读入properties里面的标签即可统一升级 ,如图五

图五

2 Maven多模块管理  方法二


图六

3   Maven用在什么地方

a  A项目依赖B项目的文件

b 解放手动导入jar包的麻烦

4  Maven仓库

本地,第三方(私服仓库)中央仓库(http://repo1.maven.org/maven2)一般使用阿里云镜像


图七

修改中央仓库,可以是公司的私服,也可以阿里云或者maven中央仓库

5 maven编译插件

要和我们的JDK保持一致,项目的jdk版本,可以在setting,compiler里面查看


图七

6 maven修改本地仓库的默认位置


7 mvn常用命令

mvn clean(清理target目录)

mvn compile(编译src目录下的代码)

mvn test-compile(编译test目录下的代码)

mvn test(运行test测试里面的代码)

mvn package(打jar包 命名artifactid-version.jar/war)

mvn install(打成jar包放入本地仓库,被其他项目使用)

mvn生命周期的执行顺序:compile ->test-compile->test->package->install(后面的每个命令都包含前面,举例:当执行了install ,则前面几个步骤都执行了)

mvn site(生成项目描述文档静态页)

8 mvn一键构建

什么是mvn构建,指的是编译,测试,运行,安装,打包整个过程都交给Maven管理

mvn tomcat:run 针对的是web工程的一键发布

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容