Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制 项目。
一、安装Maven
1、http://maven.apache.org/download.cgi下载地址:
补充一句:.tar.gz和.zip这两种文件的区别:其实这两个压缩文件里面包含的内容是一样的,只是压缩格式不一样,tar.gz格式的文件比zip文件要小不少。tar.gz压缩格式用于unix的操作系统,而zip用于windows的操作系统,但在windows系统中用WinRar工具同样可以解压缩tar.gz格式的,所以下载时不用担心或是疑惑什么!
2,、解压文件
3、配置环境变量
M2_HOME : D:\WorkApp\apache-maven-3.3.9
PATH : %M2_HOME%\bin;
4:验证安装是否成功
在命令行上输入 : mvn -version; 回车,如看到下面信息表示安装成功:
二、创建第一个Maven项目
1,新建如下目录结构
其中:src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml是项目的项目对象模型(Project Object Model or POM)。
2:POM
pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。POM大而复杂,但你不用全部去了解,只要使用一些常用的配置就可以了。下面列出这个POM的内容:
<?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"> <modelVersion>4.0.0</modelVersion> <groupId>com.ionesmile.mavenhello</groupId> <artifactId>mavenhello</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.ionesmile.mavenhello.SayHello</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
3、编写主代码
在src ---> mavenHello目录下:
package com.ionesmile.mavenhello; public class SayHello { public String sayHello() { return "Hello, Maven"; } public static void main(String[] args) { SayHello h = new SayHello(); System.out.println(h.sayHello()); } }
编写完成后,在DOS下使用 mvn clean compile命令进行编译,然后会出现一堆输出。等待一下,直到出现 BUILD SUCCESSFUL
4,测试代码
在test ---> mavenHello目录下:package com.ionesmile.mavenhello; import static org.junit.Assert.assertEquals; import org.junit.Test; public class SayHelloTest { @Test public void testSayHello(){ SayHello sayHello = new SayHello(); String result = sayHello.sayHello(); assertEquals("Hello, Maven", result); } }编写完成后,运行 mvn clean test 命令。
注:执行Test需要依赖junit框架,上面pom.xml中已经加入,见<dependencies>标签。
另外在这里如果人品不好,可能会出现两个问题,我在配置的时候出现了第二个问题,第一个问题也提出来,避免遇到坑。
问题一:
第二个问题:
出现如下异常:BUILE FAILURE
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
解决办法,详见:http://stackoverflow.com/questions/29147329/unable-to-create-a-new-maven-hello-world-project
5、打包和运行
执行 mvn clean package 命令,会生成\target\mavenhello-1.0-SNAPSHOT.jar文件.
执行 mvn clean install 命令,会将该jar文件导入到本地仓库。文件路径为:仓库路径 + groupId + artifactId,如:D:\WorkApp\AppWorkSpace\MavenSpace\com\ionesmile\mavenhello\mavenhello\1.0-SNAPSHOT\mavenhello-1.0-SNAPSHOT.jar
这里我的仓库位置为D:\WorkApp\AppWorkSpace\MavenSpace,是因为我改动了apache-maven-3.3.9\conf\settings.xml,改动如下:
如果不改动,就是上面默认的路径:${user.home}/.m2/repository,如:C:\Users\Administrator\.m2\repository
6,在控制台输出“Hello, Maven”
从安装maven到运行Hello Maven的完整步骤到这里就结束了,非常感谢下列资料提供的指导。
参考图书:《Maven实战》
参考网址:http://wentao365.iteye.com/blog/903396/