Maven目录结构
src:程序源代码
-main
-java:java代码
-package:自定义的包
-resources:存放资源文件
-webapp:如果是web工程的话,还需要这个文件夹
-WEB-INF:class文件
-test:测试代码
-java
-package
一个比较原始的写法,就是使用纯文本编辑器,按照maven约定好的目录,进行创建
当然,我会使用IDEA进行工程的创建
这里为了演示使用,我会首先创建一个空的maven工程,IDEA会根据maven约定创建基本的目录结构
如果有哪个文件夹没有创建,则可以自己创建
java工程的
目录结构如下

编写源代码:
D:GitHubJavaWebWebS2S3H3I2HelloMavensrcmainjavacomimoocmaven01modelHelloWorld.java
package com.imooc.maven01.model;/*** 测试 HelloWorld* Created by sherry on 2015/10/21 0021 22:37.*/publicclassHelloWorld{/*** Hello World* @return*/publicString sayHello(){return"Hello World!";}}
编写POM文件
D:GitHubJavaWebWebS2S3H3I2HelloMavenpom.xml
<?xml version="1.0" encoding="UTF-8"?><projectxmlns="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>org.zln.test</groupId><artifactId>HelloWorld</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><!--导入依赖--><dependencies><!--junit依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies><properties><!--指定文件编码--><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><build><plugins><plugin><!--配置jdk编译版本--><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.0.2</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><plugin><!--源代码打包--><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId><version>2.4</version><executions><execution><!--指定运行source的阶段--><phase>package</phase><!--目标--><goals><goal>jar-no-fork</goal></goals></execution></executions></plugin></plugins></build></project>
执行编译编码
进入到POM所在的路径,也就是项目的根路径
执行:mvn compile
自动创建如下目录,并生成class文件
D:GitHubJavaWebWebS2S3H3I2HelloMaven argetclassescomimoocmaven01modelHelloWorld.class
编译过程中的日志信息如下:
D:GitHubJavaWebWebS2S3H3I2HelloMaven>mvn compile[INFO]Scanningfor projects...[INFO][INFO]------------------------------------------------------------------------[INFO]Building maven01-model 1.0-SNAPSHOT[INFO]------------------------------------------------------------------------[INFO][INFO]--- maven-resources-plugin:2.6:resources (default-resources)@ maven01-model ---[INFO]Using'UTF-8' encoding to copy filtered resources.[INFO]Copying0 resource[INFO][INFO]--- maven-compiler-plugin:2.5.1:compile (default-compile)@ maven01-model ---[INFO]Nothing to compile - all classes are up to date[INFO]------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO]------------------------------------------------------------------------[INFO]Total time:1.080s[INFO]Finished at:WedOct2122:56:29 CST 2015[INFO]FinalMemory:6M/184M[INFO]------------------------------------------------------------------------
编写测试代码
D:GitHubJavaWebWebS2S3H3I2HelloMavensrc estjavacomimoocmaven01modelHelloWorldTest.java
package com.imooc.maven01.model;import org.junit.*;import org.junit.Assert.*;publicclassHelloWorldTest{@Testpublicvoid testSayHello()throwsException{Assert.assertEquals("Hello World!",newHelloWorld().sayHello());}}
执行测试命令
mvn test
打包
mvn package