maven的概念-01

1.maven 简介
maven是Apach软件基金会维护的一款自动化构建工具;
作用是服务于java平台的项目构建和依赖管理;
 
2.关于项目构建
1)java代码
Java是一门编译型语言,.java扩展名的源文件需要编译成.class扩展名的字节码文件才能够执行;
所以编写任何Java代码想要执行的话就必须经过编译得到对应的.class文件;
 
2)web工程
部署:如果要通过浏览器访问java 程序,必须将编译好的java程序的web工程放入服务器的指定目录;这一过程称为部署;
如图:web工程和其编译后的结果目录结构对比
3)实际项目
实际项目除了web工程编译结果的文件之外;还需要第三方jar包及各种配置文件;这些也需要按正确的目录结构部署到服务器;
 
3.项目构建过程
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将Java源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java工程对应jar包,Web工程对应war包。
⑥安装:在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行。
 
4.maven核心概念
maven可以实现项目的自动化构建;
maven通过以下9个核心概念来实现自动化构建的:
    ①POM
    ②约定的目录结构
    ③坐标
    ④依赖管理
    ⑤仓库管理
    ⑥生命周期
    ⑦插件和目标
    ⑧继承
    ⑨聚合
 
5.约定的目录结构
在开发中如果需要第三方框架知道自己创建的资源在哪里有两种方式:
    -通过配置文件来明确告诉;
    -基于第三方框架的约定;
 
为了maven能识别项目从而实现自动化构建,必须按maven约定的目录结构来创建项目:
 
6.关于POM
pom (project object model):项目对象模型;
是将java项目的相关信息封装为对象作为便于操作和管理的模型;
pom是maven项目的核心配置;
 
7.maven坐标
就像x、y、z三个坐标可以确定三维空间上的一点;maven工程也需要在maven仓库中唯一定位;
maven工程用下面的三个向量来定位:
    groupid    ->一般用公司名称的倒序;例如com.liusir
    artifactld    ->当前项目的模块名称;
    version    ->当前模块的版本;
例如:
<groupId>com.liusir</groupId>
<artifactId>Hello</artifactId>
<version>0.01-SNAPSHOT</version>
 
通过坐标在maven仓库中找jar包:
    将三个向量连起来:
com.liusir+Hello+0.01-SNAPSHOT
    将连起来的字符换成目录结构在maven仓库中找:
com/liusir/Hello/0.01-SNAPSHOT/HELLO-0.01-SNAPSHOT.jar
例如:查找spring-core
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
在maven仓库里的路径:
注意:我们自己的maven工程必须执行安装操作才会进入仓库;命令是:mvn install
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/ShiningArmor/p/10495619.html