Maven教程
Maven常用命令应用
Maven修改仓库地址
使用Eclipse创建Maven项目
Maven插件
Maven打包
Maven项目导入及转换

标准的Maven目录结构

标准目录布局简介

具有通用的目录布局将使熟悉一个Maven项目的用户立即在另一个Maven项目中感到宾至如归。优点类似于采用整个站点的外观。

下一节记录Maven期望的目录布局和Maven创建的目录布局。请尝试尽可能符合此结构;但是,如果您不能通过项目描述符覆盖这些设置。

src/main/java 应用程序/库资源
src/main/resources 应用/图书馆资源
src/main/filters 资源过滤器文件
src/main/webapp Web应用程序源
src/test/java 测试来源
src/test/resources 测试资源
src/test/filters 测试资源过滤器文件
src/it 集成测试(主要用于插件)
src/assembly 程序集描述符
src/site 现场
LICENSE.txt 项目许可证
NOTICE.txt 项目所依赖的图书馆要求的注意事项和出处
README.txt 项目的自述文件

在顶层,描述项目的pom.xml文件:文件。此外,还有意味着用户文本文档,以便能够在接收该电源立即读取:README.txt,LICENSE.txt,等。

该结构只有两个子目录:src和target。唯一的其他将被预期这里目录是元数据喜欢CVS,.git或.svn,和在多构建任何子项目(其中的每一个将被布置为上文)。

该target目录用于容纳构建的所有输出。

该src目录包含用于构建项目的所有源材料,其站点等。它包含每种类型的子目录:main用于主构建工件,test用于单元测试代码和资源,site等等。

在生成工件的源目录(即main和test)中,有一种语言目录java(在该目录下,存在正常的包层次结构),而有一个目录(在resources给定默认资源定义的情况下,该结构复制到目标类路径中)。

如果有其他有助于工件构建的源,它们将位于其他子目录下:例如,src/main/antlr将包含Antlr语法定义文件。

Maven这个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar 包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。所以这里我们介绍的就是怎样用 maven来满足我们项目的日常需要。Maven 使用惯例优于配置的原则 。它要求在没有定制之前,所有的项目都有如下的结构。

Maven 默认约定了一套目录结构,在通过 Maven 创建了项目以后,项目的目录结构就是以这套目录结构作为模板创建的。

目录

目的

${basedir}

项目根目录,存放 pom.xml 和所有子目录

${basedir}/src/main/java

存放项目的 java 源代码

${basedir}/src/main/resources

存放项目的资源配置文件

${basedir}/src/main/webapp

如果是 web 项目,存放 web 资源

${basedir}/src/test/java

存放测试类的源代码

${basedir}/src/test/resources

存放测试需要的资源配置文件

${basedir}/target

存放生成的字节码文件及打包生成文件等

参考案例:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html