第一个Maven项目 -- HelloWorld

这里只是通过一个简单例子来初探maven的面目,具体介绍参考后文

创建约定的目录结构

Maven的源代码目录组织结构是固定的,我们不能随便修改,一个简单的java程序目录结构如下

 

项目名

--------------src                           

-----------------------------main                          //用于放置程序代码

-------------------------------------------java         //java源代码文件

-------------------------------------------resources //java一些资源或者配置文件,对应放在build path下面

-----------------------------test                           //用于放置程序测试代码

-------------------------------------------java              //java测试文件, 如JUNIT

-------------------------------------------resources      //java测试所需的资源以及配置文件

--------------target            //编译后的classes文件以及打包,生成的报告都位于此目录下

--------------pom.xml                           //maven的核心配置文件

 

创建好以上的层次结构后,我们在java目录下创建一个HelloWorld类

package com.zhaoyang;

 

public class HelloWorld {

    public String sayHello(String name) {

        return "hello, " + name + "!";

    }

}

 在test目录下建立JUNIT的一个测试用例

-----com

----------------zhaoyang

--------------------------------HelloWorldTest.java

package com.zhaoyang;

 

import static org.junit.Assert.*;

import org.junit.Test;

 

public class HelloWorldTest {

 

    @Test

    public void testSayHello() {

        HelloWorld hello = new HelloWorld();

        assertEquals("Say hello mehtod test failed.", "hello, maven!", hello.sayHello("maven"));

    }

}

 在pom.xml中进行如下配置

<?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/maven-v4_0_0.xsd">

<!-- 指定了当前POM模型的版本,对于Maven2及Maven 3来说,它只能是4.0.0 -->

    <modelVersion>4.0.0</modelVersion>

 

<!-- 最重要的三项, groupId, artifactId,version定义了一个项目的基本坐标,后文会详细说明 -->

 

<!-- 定义项目属于哪个组,比如org.springframework --〉

    <groupId>com.zhaoyang</groupId>

<!-- 定义了当前项目在上面那个组中的唯一ID(一个组下面可以有多个项目) --〉

    <artifactId>HelloWorld</artifactId>

<!-- 当前项目的版本,比如此处的1.0的快照版本,快照指项目还处于开发中,并不稳定 --〉

    <version>1.0-SNAPSHOT</version>

 

<!--声明了一个对于用户更为友好的项目名称,虽然这不是必须的 -->

    <name>Maven Quick Start Archetype</name>

 

<!-- 此项目所依赖的jar包(准确的说应该是构建) -->

    <dependencies>

<!-- 这里引入的是junit 4.7 -->

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.7</version>

            <scope>test</scope>

        </dependency>

    </dependencies>

 

</project>

 编译并运行测试

打开cmd,切换到当前项目路径下面,并输入mvn clean test

Maven 3 入门 -- HelloWorld_maven


 如果是第一次运行,maven会去中央仓库自动的下载相应的依赖包以及我们本地仓库没有的所需的jar文件

 

以下是运行结果

Maven 3 入门 -- HelloWorld_build_02


 说明测试了一个方法且成功,以及build success