Apache Maven标准目录布局

2023/05/24

1. 概述

Apache Maven是Java项目中最受欢迎的构建工具之一,除了去中心化依赖项和仓库之外,促进跨项目的统一目录结构也是其重要方面之一。

在这篇简短的文章中,我们将探讨典型Maven项目的标准目录布局。

2. 目录布局

一个典型的Maven项目有一个pom.xml文件和一个基于定义的约定的目录结构:

└───maven-project
    ├───pom.xml
    ├───README.txt
    ├───NOTICE.txt
    ├───LICENSE.txt
    └───src
        ├───main
        │   ├───java
        │   ├───resources
        │   ├───filters
        │   └───webapp
        ├───test
        │   ├───java
        │   ├───resources
        │   └───filters
        ├───it
        ├───site
        └───assembly

可以使用项目描述符覆盖默认目录布局,但这并不常见且不建议使用。

在本文中,我们将揭示有关每个标准文件和子目录的更多详细信息。

3. 根目录

此目录用作每个Maven项目的根目录。

让我们仔细看看通常位于根目录下的标准文件和子目录:

  • maven-project/pom.xml:定义Maven项目构建生命周期中所需的依赖项和模块
  • maven-project/LICENSE.txt:项目的许可信息
  • maven-project/README.txt:项目摘要
  • maven-project/NOTICE.txt:有关项目中使用的第三方库的信息
  • maven-project/src/main:包含成为工件一部分的源代码和资源
  • maven-project/src/test:包含所有测试代码和资源
  • maven-project/src/it:通常保留用于Maven Failsafe插件使用的集成测试
  • maven-project/src/site:使用Maven Site插件创建的站点文档
  • maven-project/src/assembly:用于打包二进制文件的程序集配置

4. src/main目录

顾名思义,src/main是Maven项目最重要的目录,任何应该属于打包后的工件的东西,无论是jar还是war,都应该出现在这里。

它的子目录是:

  • src/main/java:工件的Java源代码
  • src/main/resources:配置文件和其他文件,例如i18n文件、每个环境的配置文件和XML配置
  • src/main/webapp:用于Web应用程序,包含JavaScript、CSS、HTML文件、视图模板和图像等资源
  • src/main/filters:包含在构建阶段将值注入资源文件夹中的配置属性的文件

5. src/test目录

src/test目录是应用程序中每个组件的测试所在的位置。

请注意,这些目录或文件都不会成为工件的一部分。让我们看看它的子目录:

  • src/test/java:用于测试的Java源代码
  • src/test/resources:配置文件和测试使用的其他文件
  • src/test/filters:包含在测试阶段将值注入资源文件夹中的配置属性的文件

6. 总结

在本文中,我们了解了Apache Maven项目的标准目录布局。

与往常一样,本教程的完整源代码可在GitHub上获得。

Show Disqus Comments

Post Directory

扫码关注公众号:Taketoday
发送 290992
即可立即永久解锁本站全部文章