一天学习使用maven

简介: 一:maven简介Maven是一个项目管理和综合工具。maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。

一:maven简介

Maven是一个项目管理和综合工具。maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。Maven的主要功能是:项目构建;项目构建;项目依赖管理;软件项目持续集成;版本管理;项目的站点描述信息管理;由此可以看出Maven最主要的体现在了哪2个词?——对了,“项目”和“管理”!加在一起就是项目管理。

说到底maven主要做了2件事:①对架包的管理,我们不必再去网上各种找架包导入项目了,因为maven已经把所有架包都放在一个远程仓库里了,要用的话直接通过maven去配置进来就好了;②把项目的目录结构给统一定制好了,解决项目出现的因根据个人习惯所建立自己的结构目录而导致下一个项目交接人看不懂项目结构。

二:maven的安装及配置

这里就不介绍了,网上有一大堆,此处贴个maven教程  安装教程

验证maven安装成功之后,在idea配置本地maven,如下操作就算大功告成了。

img_1b1834bc4b5abbba2259606690a703bf.png

修改配置文件

img_9228f268774ffb7358ed2846b8ffba74.png

毕竟官方的maven仓库在国外,所以把镜像换成阿里云镜像,访问会快很多

img_47b6f91e71f71b07ddd6721ce8decaf4.png

三:结合idea开始撸一个入门Demo

标准的maven工程目录的约束如下

img_7219f187f4726aa92fcbdf0d2d43cb9d.png
标准结构

新建一个maven工程,以下就是一个maven工程的结构目录,java存源代码的,resource存资源文件,filter存几种开发环境的配置的过滤文件,webapp存页面等静态页面文件

img_70ff2af94454dc4fb9dd276eed80b3d5.png

写了HelloWorld.java源文件

img_cd960e1227e6ed58a223341c162f1987.png

接下来修改pom.xml配置文件,build标签是构建程序用的,resources标签里的没一个resource标签存放每一个要编译的资源文件,include标签的意思是包括哪些文件需要打包,这样maven项目编译时就不会漏掉xml文件了,plugins标签是代表插件,所有依赖的插件都放这里。

img_4ce971422e5efc4891137b28bc7cd5a0.png

详细build标签的配置看这里

img_ed47d41f57e43a1e9c9935891d685189.png

properties标签专门放依赖包的版本号,然后下面引用就可以直接用,这样做对项目的可扩展性好,就比如某一天你的项目依赖包要升级了,你只需要直接更改这里的版本号就可以了。dependencies标签是配置要用到的依赖包。

img_35bc2b813d4b7dfd339880a0f641cb4a.png

使用下面3个向量定位一个maven工程,分别是<groupId>域名+项目名,<artifactId>模块名,<version>版本

img_d4a195689a9d674dbfaa991496030a25.png

四:maven的生命周期

主要使用到的是下图的三个命令,在compile时会产生一个target目录,里面是专门存放项目编译的字节码文件的,点击clean后这个目录就会没了,package打包会把项目打包成你配置的war包或者jar包等形式。

img_1982074dc4d7a50406dbba0661cf062e.png
下图项目

打包成功后的包就存在target下,配置下tomcat把包部署到tomcat就可以正常运行了

img_867ca65fe1f7fbe0a8c4b63f19bde127.png

写在最后,放一个 maven的学习教程


演示不选择模板,手工创建一个maven工程,结果的项目结构如图,我们还需手工添加webapp

img_3fbccab64d4137bb88b36541e39b9ac9.png

接下来的操作直接参考这篇文章无模板的maven创建过程

相关文章
|
6月前
|
XML Java Shell
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(一)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
209 1
|
2月前
|
Java 应用服务中间件 测试技术
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。 本文主要了解Maven基础知识及基础应用,旨在为之后的进一步学习奠定基础。 内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。 仅供参考。
225 80
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
|
6月前
|
XML Java Maven
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)(二)
【深入浅出Maven开发实战】「入门教程系列」带你零基础学习和开发使用Maven开发工具实战指南(实战技术总结)
117 0
|
3月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
51 2
【前端学java】如何从前端视角快速学习Maven
|
3月前
|
设计模式 IDE Java
|
5月前
|
Java 关系型数据库 Maven
SpringBootWebProject学习4、maven打war包
SpringBootWebProject学习4、maven打war包
46 1
|
5月前
|
前端开发 Java 关系型数据库
SpringBootWebProject学习2、默认maven使用
SpringBootWebProject学习2、默认maven使用
28 1
|
5月前
|
XML Java 关系型数据库
SpringBootWebProject学习2、maven配置
SpringBootWebProject学习2、maven配置
52 1
|
6月前
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
174 0
|
6月前
|
XML Java 大数据
答应粉丝的Maven仓库学习笔记,今天它来了 一起来学习快速入门Maven
答应粉丝的Maven仓库学习笔记,今天它来了 一起来学习快速入门Maven
112 1