Maven提倡使用一个共同的标准目录结构,使开发人员能在熟悉了一个Maven工程后,对其他的Maven工程也能清晰了解。这样做也省去了很多设置的麻烦。 以下的文档介绍是Maven希望的目录结构,并且也是目录创建工程是采用的目录结构。Maven推荐大家尽可能的遵守这样的目录结构。
约定优于配置
在顶级目录上是工程的描述文件pom.xml。 顶级目录还包括两个子目录:src,target。顶级目录下可能出现的其他目录仅仅是CVS或.svn和其他多模块工程的工程目录,最好不要再有其他目录。 Target目录是所有工程编译构建的输出目录。 Src目录包含所有工程的源码文件,配置文件,资源文件等等。它下面的子目录一般包含main(主要的工程源文件),test(测试文件),site(项目站点文件)。 
Maven使用约定优于配置的原则,如下所示:
目录目的${basedir}存放pom.xml和所有的子目录${basedir}/src/main/java项目的java源代码${basedir}/src/main/resources项目的资源,比如说property文件,springmvc.xml${basedir}/src/test/java项目的测试类,比如说Junit代码${basedir}/src/test/resources测试用用的资源${basedir}/src/main/webapp/WEB-INFweb应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面${basedir}/target打包输出目录${basedir}/target/classes编译输出目录${basedir}/target/test-classes测试编译输出目录Test.javaMaven只会自动运行符合该命名规则的测试类~/.m2/repositoryMaven默认的本地仓库目录位置一个maven项目在默认情况下会产生jar文件,另外,编译后的classes会放在basedir/target/classes下面,jar文件会放在basedir/target/classes下面,jar文件会放在{basedir}/target下面。使用约定优于配置带来最大的好处就是项目的统一,任何人在使用Maven项目的时候,文件的存放位置都是一样的,通用性比较好。这也是为什么我们在用intellij创建一个maven项目的时候,需要配置源文件、资源文件路径的原因。如下图就是常用的几个配置: