标准的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
存放生成的字节码文件及打包生成文件等