目录
此文章的出现原因为:我很久才从头创建一次maven项目,经常记不住标准的目录结果,为了强化自己的记忆,也为了帮助国内用户更方便的阅读,特此翻译了apche官网的标准目录/文件结构介绍(Introduction to the Standard Directory Layout)。
Maven项目标准目录/文件结构
使用统一的Maven项目文件目录结构,会让已经熟悉Maven项目的人迅速理解其它项目的Maven项目目录结构。其优点类似于同一个网站的使用习惯和风格是相同的。
下面这个表格的项目目录结构,是Maven项目所期望的,也是Maven项目默认目录,请尽量使用该目录结构。但是,如果你无法使用对应的项目结构,你可以使用项目描述符覆写这些设置。
目录 | 作用 | 译者注 |
---|---|---|
src/main/java | 项目源代码 | 项目开发代码放这 |
src/main/resources | 项目资源文件 | 编译完到classes目录下 |
src/main/filters | 资源过滤文件 | 用来放filter类的 |
src/main/webapp | 应用资源目录 | 项目的前端资源js、css等 |
src/test/java | 测试源码 | 测试的源码放在这 |
src/test/resources | 测试资源文件 | 测试源码需要的资源文件放这 |
src/test/filters | 测试资源过滤文件 | 测试需要的filter类 |
src/it | 集成测试(主要用于插件) | 集成测试类和测试插件放这 |
src/assembly | 装配描述符 | assembly.xml,用于设置打包内容 |
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(编译完后自动拷贝到target目录下的classes文件夹下的默认资源文件夹)
如果有其他源文件夹,他们将产生在其它的子目录:例如src/main/antlr会产生antlr源码编译后生成文件。
最后:
翻译的不好,感觉很多东西只可意会,不好言传,主要就看目录结构把,然后每个文件夹有其固定的作用,表格下面的解释,主要是为了解释这些文件夹的内容,和产生新文件的原因。
如有问题请多多指教,第一次翻译,多教教我呗0.0
当前被人指出更多的问题,就可以在以后的日子里遇到更少的问题。