* Maven
* Maven的概述
Maven是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理。
* 项目构建
* 依赖管理
* 项目信息管理
* 项目构建
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。
* 依赖管理
自动下载项目所需要的jar包,统一管理jar包之间的依赖关系
A.jar-->B.jar(版本不一致)
C.jar-->B.jar(版本不一致)
B--->A.jar,C.jar(jar冲突)
* 使用Maven的好处
maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。
Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情
使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。
* Hello Maven
* 下载
* http://maven.apache.org/download.cgi
Maven目录分析
bin:含有mvn运行的脚本
boot:含有plexus-classworlds类加载器框架
conf:含有settings.xml配置文件
lib:含有Maven运行时所需要的java类库
LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍
* 安装
* 首先确保安装jdk,配置JAVA_HOME
* 配置Maven的环境变量
* 配置MAVEN_HOME
* hello maven
Maven项目的目录约定
HelloMaven(项目根目录)
|----src
| |----main
| | |----java ——存放项目的.java文件
| | |----resources ——存放项目资源文件,如框架的配置文
| |----test
| | |----java ——存放所有测试.java文件,如JUnit测试类
| | |----resources ——存放项目资源文件,如框架的配置文
|----target ——项目输出位置(编译后生成)
|----pom.xml ----用于标识该项目是一个Maven项目
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--所有的Maven项目都必须配置这四个配置项-->
<!--modelVersion 描述这个POM文件是遵从哪个版本的项目描述符-->
<modelVersion>4.0.0</modelVersion>
<!--groupId指的是项目名的项目组,默认就是包名-->
<groupId>com.hx.maven.hello</groupId>
<!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
<artifactId>maven1</artifactId>
<!--version指的是版本,这里使用的是Maven的快照版本-->
<!--Maven的Snapshot版本(不稳定,开发阶段)与Release版本(稳定版本)-->
<version>SNAPSHOT-0.0.1</version>
</project>
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}