DevOps—持续集成Maven(四)

目录

Maven简介

Maven安装

Maven项目结构

Maven常用命令


Maven简介

1、我们工作时,除了编写源代码,每天有一部分时间都花在了编译、运行单元测试、生成文档、打包和部署上面,这就是构建。多次重复的做这种工作,浪费了大量程序员的时间,所以有人用软件使这一系列操作完全自动化,只需要一条命令,这些繁琐的操作会很快完成。

2、Maven编译工具是对ant工具的进一步改进,在make工具中,如果需要编译某些源文件,首先要安装编译器等工具。有时候需要不同版本的编译器,例如Java编译器在编译文件时需要各种依赖包的支持,如果把每个包都下载下来,在makefile中进行配置制定,当需要的包非常多时,很难管理。Maven构建工具能够自动下载项目依赖的第三方库,Maven通过坐标来准确的定位到每一个jar包,并自动帮我们下载。

3、Maven.与ant类似,也是构建(build)工具,它是如何调用各种不同的编译器连接器呢?使用Maven plugin(Maven:插件),Maven.项目对象模型POM(project object model),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。

4、POM是Maven.项目中的文件,使用XML表示,名称为pom.xml。在Maven中,当构建project的时候,不仅仅是一堆包含代码的文件,还包含pom.xml配置文件,该文件包括project与开发者有关的、缺陷跟踪系统、组织与许可、项目的URL、项目依赖以及其他配置。

5、基于maven:构建编译时,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。由于Maven的默认构建规侧有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。

Maven安装

#软件下载与安装
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

tar -xzf apache-maven-3.3.9-bin.tar.gz

mv apache-maven-3.3.9 /usr/maven/

#配置Maven环境变量
export MAVEN_HOME=/opt/maven
export JAVA_HOME=/opt/jdk1.8.0_181
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$MAVEN_HOME/lib 
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH:$HOME/bin

Maven项目结构

Project
    |--src(源码包)
        |--main(正常的源码包)
            |--java(.java文件的目录)
            |--resources(资源文件的目录)
        |--test(测试的源码包)
            |--java
            |--resources
    |--target(class文件、报告等信息存储的地方)
|--pom.xml(maven工程的描述文件)

Maven常用命令

在本地仓库生成仓库的安装包可以供其他项目引用,同时打包后的文件存放到项目的 target 目录下。

对项目打包有三种打包方式,pom打包,jar包和war包。打包方式在pom.xml文件中进行指定。

pom工程一般是聚合工程,代表父工程,负责管理jar包的版本、maven插件的版本等,主要做统一的依赖管理。

jar包就是普通的打包方式,可以是pom工程的子工程。

war包的都是web工程,是可以直接放到tomcat下运行的工程。

打成pom包和jar包的工程在新建的时候可以不需要制定maven项目的原型,达成war包的项目需要制定maven项目原型,指定的原型通常为maven-archetype-webapp,代表web项目。

其中最常用的就是maven clean和maven install,maven常用命令如下:

mvn compile #编译源代码 
mvn test-compile #编译测试代码
mvn test #运行测试
mvn site #产生site
mvn package #打包
mvn install #在本地Repository中安装jar
mvn clean #清除产生的项目
mvn eclipse:eclipse #生成eclipse项目
mvn idea:idea #生成idea项目
mvn -Dtest package #组合使用goal命令,如只打包不测试
mvn test-compile #编译测试的内容
mvn jar:jar #只打jar包
mvn archetype:create -DgroupId=packageName -DartifactId=projectName #创建Maven的普通java项目
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp #创建Maven的Web项目

上一篇:DevOps—持续开发gitlab(三)​​​​​​

下一篇:DevOps—持续集成Jenkins(五)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值