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

啦啦啦

转载于:https://www.cnblogs.com/ClassNotFoundException/p/7529171.html

Maven学习-目录结构相关推荐

  1. Maven-学习笔记03【基础-Maven标准目录结构和常用命令】

    Java后端 学习路线 笔记汇总表[黑马程序员] 黑马程序员(腾讯微云)Maven基础讲义.pdf Maven-学习笔记01[基础-Maven基本概念] Maven-学习笔记02[基础-Maven的安 ...

  2. Linux学习--目录结构

    ** Linux学习–目录结构 ** 一.基本介绍 linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录"/",然后在此目录下再创建其他的目录. 记住一句经 ...

  3. Maven标准目录结构(手写Maven项目)

    标准目录结构 手写Maven项目 src main test 执行命令 启动项目 标准目录结构 Maven标准目录结构为如下图 手写Maven项目 按照上面的结构图,我们就手写Maven项目 先来一个 ...

  4. maven java 目录结构_java – 为maven目录结构生成的源文件的位置

    我认为位置取决于源的生成和处理. >源代码在构建过程中自动生成:然后我将使用target / main / java /,target / test / java /等.这个代码没有签入CVS, ...

  5. (五)Maven目录结构及常用命令说明

    前面提到的部分知识有涉及到Maven目录结构与Maven常用的一些命令,在这里专门给大家做个简单的介绍. 1.Maven目录结构说明 Maven总体目录结构如下图: bin目录:该目录包含了mvn运行 ...

  6. maven工程的目录结构

    Eclipse中一个Maven工程的目录结构 (MacOS) www.cnblogs.com 2016-11-04 17:33 1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclip ...

  7. Maven精选系列--标准目录结构

    转载自 Maven精选系列--标准目录结构 Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources ...

  8. maven java 结构_Maven标准目录结构介绍

    Maven的目录结构和传统的项目有所差别,下面是一个jar包通常有的目录结构. src/main/java:源代码目录 src/main/resources:资源文件目录 src/test/java: ...

  9. idea maven打包_20201116(Maven学习)

    16 每天进步不止一点点 Maven框架学习 Maven 1. 概念:Maven(枚文),是一个项目管理工具,它包含了一个项目对象模型(POM:Project Object Model),一组标准集合 ...

最新文章

  1. 烂泥:ubuntu 14.04搭建Open***服务器
  2. 非侵入式监控php,非侵入式监控PHP应用性能监控分析
  3. 【bzoj3672】购票
  4. 信息系统项目管理师论文指导(2/3)
  5. QT的QMessageBox类的使用
  6. std::ostream_iterator、std::cout、std:copy实现输出
  7. 前端学习(2850):简单秒杀系统学习之绝对定位
  8. 面试项目亮点_当面试官谈到项目经验的时候,你知道怎么回答吗?怎么反过来控制面试流程?...
  9. pyqt5信号与槽连接的生命周期与对象引用的生命周期
  10. Fiddler | fiddler的https设置/证书失效怎么办
  11. Zeppelin求学之路(3)—Zeppelin基本模块介绍和Paragraph源码深入了解以及Note,NoteBook 简介,
  12. 整理了173家国企清单,跳槽必备!
  13. 网络连接有个感叹号的原因及解决方法
  14. 计算机科学中atm是什么,计算机专业知识:ATM网络基本原理
  15. MACD指标为什么不灵了?试试QMACD
  16. 美颜SDK的动态贴纸有哪些妙用?
  17. NAT+路由?内网套娃模式到底有何弊端?
  18. 点清铸造厂车间除臭剂处理废气和废水恶臭
  19. carla学习笔记(三)
  20. vue-cli2.x统一配置接口请求地址和开发环境的跨域代理

热门文章

  1. 【codeforces 103E】 Buying Sets
  2. 使用canvas绘制时钟
  3. 听了一堂《**学院》的课,我也是醉了
  4. Newtonsoft.json中 linq to json 和序列化哪个快?
  5. Java入门系列-22-IO流
  6. 从零开始撸一个Kotlin Demo
  7. go grpc 深入笔记
  8. Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986
  9. PC-CSS-多浏览器支持HTML5
  10. 在Brackets中使用jsHint遇到的问题