每次学习新知识,都从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进行测试项目时,输出的可能比上面的要多,可能会从中央仓库下载一些所需的文件,请耐心等待。
从上面的信息中可以看以看出测试代码通过编译了,编译后的文件为target\test-classes\com\kafei\mvnproject\helloworld\HelloWorldTest.class,
接着surefire:test任务运行并且测试,surefire是maven中负责测试的插件,上图中的信息就是测试报告,可以看出一共运行了多少测试、
失败了多少、出错了多少、跳过了多少,显然测试通过了。
至此Maven从创建项目到编写主代码,然后进行测试已经完了,后续会说明怎么对Maven项目打包和运行。、
源码下载:HelloMaven源码