当前位置: 首页 > article >正文

【Maven笔记1】Maven介绍

1、没有maven之前

在没有maven之前,我们的Java项目在去管理依赖的时候,一般都是需要人工手动将所需要的包添加到classpath下面。这种方式有下面几个问题:

  • 需要到网络上或其他途径去获取包,分散且浪费精力
  • 如果包有依赖其他包,又需要把依赖的包也加入进来,人工管理依赖太费劲
  • 当遇到包冲突时,挨个去查找和排查,那简直就是灾难了

当然,还有Ant、Make等构建工具,我之前接触的一个老项目用的就是Ant,Ant能解决一部分工程构建的问题,但他是命令式的,没有生命周期的概念,你必须给Ant下达必要的操作指令才行,还是不够简单。

2、maven是什么

maven是一款强大的软件构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生产报告,再到打包和部署。它最大化的消除了重复,抽象了构建的生命周期。

另外,maven强大的地方在于它的插件机制。maven有大量成熟的插件,来帮助我们完成特定的构建任务。

maven的核心功能有:

  • 提供了一套标准化的项目结构(我们熟知的src/main/java等结构约定)
  • 提供了一套标准化的构建流程(清理、编译、测试、打包、发布)
  • 提供了依赖管理机制、中央仓库(企业内网环境可以搭建私服仓库)
  • 同时可以帮助我们管理项目信息,比如开发者列表、许可证、版本控制系统地址等

3、maven项目结构

一个典型的maven项目结构如下:
a-maven-project
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ └── resources
│ └── test
│ ├── java
│ └── resources
└── target

  • 其中根目录a-maven-project是项目名称
  • pom.xml是项目描述文件,也是maven进行项目管理的核心文件
  • src/main/java是存放java源文件的目录
  • src/main/resources是存放资源文件的目录,比如*.properties文件
  • src/test/java是存放测试源码文件的目录
  • src/test/resources是存放测试资源文件的目录
  • 编译打包生产的文件都放在target目录下,比如编译生成的*.class文件

参考

  • https://www.liaoxuefeng.com/wiki/1252599548343744/1309301146648610
  • 《Maven实战》-许晓斌

http://www.kler.cn/news/17566.html

相关文章:

  • ConcurrentHashMap底层实现原理
  • Java时间类(四)-- DateTimeFormatter类
  • PostgreSQL 基础知识:psql 入门
  • ChatGPT诞生的新岗位:提示工程师(Prompt Engineer)
  • 发展文旅夜游项目有哪些好处
  • Python实现哈里斯鹰优化算法(HHO)优化随机森林分类模型(RandomForestClassifier算法)项目实战
  • 章节3:02-Apache Commons Collections反序列化漏洞
  • 宝塔windows面板提权获取系统管理员权限方法!(非漏洞BUG)
  • JavaEE阶段测试复习
  • 京东数据分析:2023年Q1白酒电商整体动销增长,中低端酒企压力大
  • 国民技术N32G430开发笔记(14)-IAP升级 usart2接收数据
  • MySQL知识学习03(三大日志详解 binlog、redo log、undo log)
  • Python3 简介
  • Android 9.0 系统systemui下拉通知栏的通知布局相关源码分析
  • 05.rabbitMQ之搭建的各种坑
  • 基于DSP+FPGA+AD9238的冲击波超压测试系统设计与实现
  • 手搓GPT系列之 - chatgpt + langchain 实现一个书本解读机器人
  • Ajax -- from表单与模板引擎
  • 华为OD机试 - 密室逃生游戏(Python)
  • 提示工程玩转 ChatGPT
  • springboot2
  • 【Python】flask
  • SpringBatch之实际操作
  • Java反射和动态代理
  • java单链表反转
  • 代码评审都评审些什么呢?
  • 一起Talk Android吧(第五百四十二回:无进度值ProgressBar)
  • 【Java开发】Spring Cloud 11:Gateway 配置 ssl 证书(https、http、域名访问)
  • 《C和指针》笔记3:置一和清零
  • 一种用于大坝水库边坡内部振弦式应变计组