一、Maven简介及环境搭建
1、Maven简介
Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的搭建、报告和文档的软件项目管理工具。
POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。在Maven中,当谈到Project的时候,不仅仅是一堆包含代码的文件。一个Project往往包含一个配置文件,包括了与开发者有关的、缺陷跟踪系统、组织与许可、项目的URL、项目依赖、以及其他。它包含了所有与这个项目相关的东西。事实上,在Maven世界中,project可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。
2、Maven下载及环境配置
1)、Maven的官网:http://maven.apache.org/。
将Maven的压缩包解压之后的目录如下:
bin目录包含mvn的运行脚本,m2.conf:配置文件;
boot目录包含一个类加载器的框架,Maven使用它来加载自己的类库;
conf目录是一些配置文件;
lib目录下包含一些类库,自己运行的包括第三方的一些类库。
2)、Maven环境变量的配置:
M2_HOME变量:
PATH变量:
3)、验证环境变量是否配置成功:
命令提示符下输入:mvn -v
二、Maven的Hello world程序
1、Maven项目的目录结构
src
-main
-java
-package
-test
-java
-package
resources
2、创建项目
main和test目录下都含有java目录。
在main的java目录下,新建类包的目录结构,并编写HelloWorld.java。
package com.zxt.model;
public class HelloWorld {
public static String sayHello() {
return "Hello World!!";
}
}
在test的java目录下,新建类包的目录结构,并编写测试类HelloWorldTest.java。
package com.zxt.model;
import org.junit.*;
import org.junit.Assert.*;
public class HelloWorldTest {
@Test
public void testSayHello() {
Assert.assertEquals("Hello World!!", HelloWorld.sayHello());
}
}
3、pom.xml
创建pom.xml文件管理项目(位于项目的根目录下),pom文件的格式可以从其他项目中拷贝过来,例如spring,struts等。
<groupId> groupId的值就是项目的包名</groupId >
<artifactId> artifactId是模块的名</artifactId >
<version>版本</version >
<!-- 项目依赖包的管理 -->
<dependencies>
<dependency>
<groupId>junit</groupId >
<artifactId> junit </artifactId >
<version>4.12</version >
</dependency>
</dependencies>
<?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的版本,固定4.0.0 -->
<modelVersion>4.0.0</modelVersion>
<!-- 项目描述 -->
<groupId>com.zxt.model</groupId>
<artifactId>maven01-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 项目依赖包的管理 -->
<dependencies>
<dependency>
<groupId>junit</groupId >
<artifactId>junit</artifactId >
<version>4.12</version >
</dependency>
</dependencies>
</project>
4、编译运行
在命令提示符中切换到项目目录,并使用mvn compile命令编译项目:
编译成功后,运行mvn test执行测试用例:
对项目进行打包,mvn package。
三、Maven常用的构建命令
mvn –v 查看maven版本;
compile 编译maven项目;
test 运行测试;
package 打包,maven项目;
clean 删除target文件(java源代码编译生成的二进制字节码,项目说明文档等);
install 安装jar包到本地仓库中。
1、install命令的使用实例
1)、创建类似于maven01的项目maven02。其源代码及测试代码如下:
Speak.java
package com.zxt.model02;
import com.zxt.model.HelloWorld;
public class Speak {
public static String sayHi() {
return "Hello World!!";
}
}
SpeakTest.java
package com.zxt.model;
import org.junit.*;
import org.junit.Assert.*;
public class SpeakTest {
@Test
public void testSayHi() {
Assert.assertEquals("Hello World!!", Speak.sayHello());
}
}
可以看出在Speak.java中引用了maven01项目中的HelloWorld类。这时候直接编译maven02项目,会出错:
2)、切换到maven01项目的目录下,使用mvn install命令,将maven01的jar包安装到本地仓库中,并在maven02的pom.xml文件中添加maven01的jar包依赖,再来编译maven02,则可以成功。
<dependency>
<groupId>com.zxt.model</groupId>
<artifactId>maven01-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>