Maven入门(一)(HelloMaven)

每次学习新知识,都从helloworld开始,今天也不例外,hellowrold我来了。

一、Maven项目之核心--------pom.xml

1.pom.xml

<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><!-- 指定当前POM模型版本-->

	 <!-- 定义项目属于哪个组,这个组和项目需哦在的组织或公司存在关联 
	 例如:你的公司是kafei;项目名为:.mvnproject;那么groupId就为:com.kafei.mvnproject-->
     <groupId>com.kafei.mvnproject</groupId>
	 <!-- 定义当前MAVEN项目在组中唯一的ID-->
     <artifactId>helloworld</artifactId>
	 <!-- 指定项目当前的版本,SNAPSHOT为快照的意思,随着项目的发展,版本会不断的更新-->
     <version>1.0-SNAPSHOT</version>
	  <!-- 为项目指定更加详细清楚的名称,方便用户更好的阅读理解-->
     <name>Maven Hello World Project</name>
	 <!-- 编写代码测试-->
	 <!-- 在测试时需要使用到junit,配置好之后,如果是第一次使用MAVEN,
	 则在测试时会从中央仓库下载名为junit_4.11.jar的文件-->
	 <dependencies>
		<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.11</version>
		<scope>test</scope>
		</dependency>
	</dependencies>
</project>
注:这段代码中最重要的就是groupId、artifactId、version,这三个元素定了一个项目基本的坐标,

        在maven的世界中,都是以这些基本的坐标来进行区分的。

二、编写主要代码(默认Maven假设项目主代码位于src/main/java目录)

a.创建项目主文件夹,这里以helloword进行命名,遵循MAVEN约定,然后在这个文件夹下创建src/main/java目录

b.完成a操作后,在src/main/java目录下创建com/kafei/mvnproject/helloworld/HelloWorld.java

HelloWorld.java:

package com.kafei.mvnproject.helloworld;
public class HelloWorld
{
	public String sayHello(){
		return "Hello Maven";
	}

	public static void main(String[] args){
		System.out.print(new HelloWorld().sayHello());
	}
}
该JAVA类的包名是:com.kafei.mvnproject.helloworld,与之前在pom.xml配置的groupId、artifactId相吻合。

3.编译代码

命令:mvn clean compile

在DOS窗口下,使用CD命令切换到你项目的根目录

如:cd C:\Users\用户名\Desktop\helloworld,然后执行编译命令

执行编译命令后输出如下图:

clean告诉Maven清理输出目录targer,compile告诉Maven编译项目主代码,从上面输出的信息中可以看到Maven首先执行了

clean:clean 任务,删除target/目录。默认情况下,Maven构建的所有输出都在targer目录中,接着执行resources:resources 任务

最后执行compile:compile 任务,将项目主代码编译至target/classes目录。

其中clean:clean、resources:resources、compile:compile对应了一些Maven插件。

注意:在首次使用Maven进行编译项目时,可能会从中央仓库下载一些所需的文件,请耐心等待。

三、编写测试代码

命令:mvn clean test

为了使项目结构清晰,主代码与测试代码应该放在不同的目录中。

Maven项目中默认的主代码目录为src/main/java

Maven项目中默认的测试代码目录为src/test/java,应当先创建该目录,然后在该目录下创建文件HelloWorldTest.java

在上文的pom.xml中我已经增加了测试项目的配置。

主要配置如下:

<!-- 在测试时需要使用到junit,配置好之后,如果是第一次使用MAVEN,
	 则在测试时会从中央仓库下载名为junit_4.11.jar的文件-->
	 <dependencies>
		<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.11</version>
		<scope>test</scope>
		</dependency>
	</dependencies>
HelloWorldTest.java:

package com.kafei.mvnproject.helloworld;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class HelloWorldTest
{
	@Test
	public void testSayHello(){
		HelloWorld helloWorld=new HelloWorld();
		String result=helloWorld.sayHello();
		assertEquals("Hello Maven",result);
	}
}
执行mvn clean test命令测试通过后输出如下测试报告:

Maven入门(一)(HelloMaven)_第1张图片

Maven入门(一)(HelloMaven)_第2张图片

注意:在首次使用Maven进行测试项目时,输出的可能比上面的要多,可能会从中央仓库下载一些所需的文件,请耐心等待。

从上面的信息中可以看以看出测试代码通过编译了,编译后的文件为target\test-classes\com\kafei\mvnproject\helloworld\HelloWorldTest.class,

接着surefire:test任务运行并且测试,surefire是maven中负责测试的插件,上图中的信息就是测试报告,可以看出一共运行了多少测试、

失败了多少、出错了多少、跳过了多少,显然测试通过了。


至此Maven从创建项目到编写主代码,然后进行测试已经完了,后续会说明怎么对Maven项目打包和运行。、

源码下载:HelloMaven源码




你可能感兴趣的:(Maven入门(一)(HelloMaven))