经过了第一篇的Maven功能介绍后,你是不是已经对Maven的使用手痒了呢,我将从本篇开始,记录自己对《Maven实战》的示例练习以及继续对知识点的整理、总结。
安装、配置
在windows上安装Maven是比较简单的(截至目前为止,笔者主要使用的操作系统依然是Windows,所以这里只拿Windows平台来讲):
1、安装jdk
echo %JAVA_HOME%
java -version
如果正确显示配置好的jdk文件目录、jdk的版本信息则代表,则代表jdk环境已经配置好。
2、配置Maven
在PATH变量中添加Maven命令执行文件夹bin的相对路径
3、检查
执行echo %MAVEN_HOME% 命令,检查是否配置了MAVEN_HOME环境变量
执行mvn -v 命令查看是否能成功打印Maven的版本信息。
在这里遇到了一个问题:
将执行命令的目录切换至某分区的根目录下,执行mvn -v不成功,例如我切换至e盘根目录显示信息如下:
查找了一些资料后,也没有找到很好的办法。
而当切换到子目录文件夹中执行命令是可以成功的:
上面的问题暂时还没有解决,不过这并不影响我们继续后面的练习,我们就在某分区的子目录下进行练习就好。
HelloWorld项目练习
遵循着上篇我们提到的Convention Over Configuration原则,Maven为我们提供了统一的项目结构,这个统一的项目结构称为项目的骨架,我们可以按照其约定,一个个创建对应的文件夹,同时Maven也为我们提供了生成项目骨架的命令:mvn archetype:generate。
第一次运行这条命令可能要经过一段时间“漫长”的等待,之后进入选择骨架类型(暂且选择默认、直接回车),定义groupId、artifactId、version、package的过程,经过最后的确认,我们就可以生成项目的骨架了。
经过上面的步骤,可以看到Maven为我们创建了供测试的类及其测试类,pom文件中加入了junit的依赖。为了测试Maven最常用的几个构建命令,我们做如下修改:
1、修改pom文件,引入4.7版本的junit依赖
<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.tgb.mvnbook</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hello-world</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2、编写HelloWorld主代码及其测试类
package com.tgb.mvnbook.helloworld;
/**
* Hello world!
*
*/
public class HelloWorld
{
public static void main( String[] args )
{
System.out.println( new HelloWorld().sayHello() );
}
public String sayHello(){
return "Hello World!";
}
}
package com.tgb.mvnbook.helloworld;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
/**
* Unit test for simple App.
*/
public class HelloWorldTest
{
/**
* Create the test case
*
* @param testName name of the test case
*/
@Test
public void testSayHello()
{
HelloWorld helloWorld = new HelloWorld();
String result = helloWorld.sayHello();
assertEquals("Hello World!", result);
}
}
3、使用Maven构建
切换至项目根目录路径下
执行 mvn clean compile 编译项目,生成class文件
执行 mvn clean test 运行单元测试方法,输出测试报告
执行 mvn clean package 打包项目
执行 mvn clean install 将打包好的项目安装到本地仓库
Maven小结
本篇文章对应《Maven实战》中的第二、三章的内容,涉及到了Maven的基本安装、配置,以及从无到有的创建一个Maven项目,也带大家领略了一下Maven强大的构建功能。本文中并未提到Maven安装文件的目录结构以及安装时的一些问题和最佳实践,还是建议大家读一读这部分内容的,相信你会对Maven了解的更深刻。