• Maven学习-目录结构


     

      1. 什么是Maven

      2. 如何用Maven来构建项目

      3. Maven项目的目录结构

      Maven约定了一套规则来创建和构建项目。得益于Maven的一些约定,我们只要学习相对很少的命令就可以创建和管理我们的项目。在项目的目录结构上,Maven有一套约定的通用的目录结构。

      使用一套通用的目录结构的好处是,可以减少开发人员熟悉不同Maven项目时的认知负担。在使用相同的目录结构的情况下,开发人员可以很快的熟悉一个项目。

      1.Maven通用的目录结构介绍

        通用目录结构

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

            ${basedir}
            |-- pom.xml
            |-- src
            |   |-- main
            |   |   `-- java
            |   |   `-- resources
            |   |   `-- filters
            |   `-- test
            |   |   `-- java
            |   |   `-- resources
            |   |   `-- filters
            |   `-- it
            |   `-- assembly
            |   `-- site
            `-- LICENSE.txt
            `-- NOTICE.txt
            `-- README.txt

      

    • src/main/java 项目的源代码所在的目录
    • src/main/resources 项目的资源文件所在的目录
    • src/main/filters 项目的资源过滤文件所在的目录
    • src/main/webapp 如果是web项目,则该目录是web应用源代码所在的目录,比如html文件和web.xml等都在该目录下。
    • src/test/java 测试代码所在的目录
    • src/test/resources 测试相关的资源文件所在的目录
    • src/test/filters 测试相关的资源过滤文件所在的目录

    上面的目录结构,我们接触的比较多,而下面的这些目录结构,用的相对不是很多:

    • src/it 集成测试代码所在的目录,主要是供别的插件使用的。
    • src/assembly 组件(Assembly)描述符所在的目录
    • src/site 站点文件
    • LICENSE.txt 项目的许可文件
    • NOTICE.txt 该项目依赖的库的注意事项
    • README.txt 项目的readme文件

    在一个Maven项目中,在项目根目录下,除了包含了上面约定的目录结构中的部分目录外,还包含了项目描述文件,pom.xml文件。
    在根目录下,主要有两个目录,分别是srctarget目录,除此之外,还会有一些版本控制系统的元数据文件,包括git的.gitignore或者svn的.svn。如果一个项目是由多个子项目组成的,那么在该项目的根目录下,还会包含它的子项目的目录。子项目的目录布局,默认也是和上面列出的目录结构一致的。

    target目录只要用于存放项目构建的输出文件,比如class文件以及打包后的包文件等。

    src目录下,包含了项目所有的源代码和资源文件,以及其他项目相关的文件。在该目录的main目录下,包含了构建该项目的artifact(可以理解为时项目的程序部分)所需的代码和资源,而test目录包含了测试相关的代码和资源文件。

    在目录maintest下的子目录结构,是非常相似的,都包含了两个子目录:java子目录和resources子目录,这两个目录分别放了源代码和资源文件。不同的是,在main目录下的这两个目录中放置了项目主程序的代码,而在test目录下,放置的是测试相关的代码和资源文件。其中java目录是代码的根目录,在该目录下的子目录,就是Java的包名对应的目录结构了。

    src/main/java Application/Library sources
    src/main/resources Application/Library resources
    src/main/filters Resource filter files
    src/main/webapp Web application sources
    src/test/java Test sources
    src/test/resources Test resources
    src/test/filters Test resource filter files
    src/it Integration Tests (primarily for plugins)
    src/assembly Assembly descriptors
    src/site Site
    LICENSE.txt Project's license
    NOTICE.txt Notices and attributions required by libraries that the project depends on
    README.txt Project's readme

    啦啦啦

  • 相关阅读:
    ss
    Linux vmstat命令实战详解
    【好书摘要】性能优化中CPU、内存、磁盘IO、网络性能的依赖
    mysql 数据库授权(给某个用户授权某个数据库)
    windows下mysql安装包安装
    053(五十五)
    053(五十四)
    053(五十三)
    053(五十二)
    053(五十一)
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/7529171.html
Copyright © 2020-2023  润新知