maven
01.学习maven的想法
其实我对maven并不是特别熟悉,然后有一次在公司做开发的时候,项目想要发布到测试服务器,突然发现maven出现错误,实在解决不了就找老板解决,通过这次事件,发现应该好好学习下maven,其实以前在学校也发生过这件事,也是因为不会打包,不知道怎么查看错误,导入项目直接流产
02.什么是maven
我个人觉得maven其实就是将一些代码或者架构进行重新组织,如果全部东西写在一个架构,代码会非常臃肿
03.构建
这里其实我觉得是maven非常重要的一个东西,将项目中生命周期跑一遍,达到可运行的一个结果
04.步骤
在使用maven的时候,是优先清理编译结果,然后进行打包。
05.开发思想
约定大于配置,配置大于编码,这里其实也是maven的想法,可以配置就不要用编码
06.pom
使用mevan是要构建一个maevn项目,其中pom文件,就是将java工程变成一个对象进行操作,maven将java转换成对象,然后用一些标签进行坐标定位。
<groupId>com.atguigu.maven</groupId> groupid:公司或组织的域名倒序+当前项目名称 <artifactId>Hello</artifactId> artifactId:当前项目的模块名称 <version>0.0.1-SNAPSHOT</version> 当前模块的版本
07.将定位进行拼接就可以得到项目路径
com/atguigu/maven/Hello/0.0.1-SNAPSHOT/Hello-0.0.1-SNAPSHOT.jar
08.maven依赖
maven是管理依赖,就是会将项目进行各种绑定,我们可以通过<dependency>标签进行绑定,绑定也有分级别,compile是全打包,test就负责全打包,provided不参与部署打包
09.maven可以移除不需要的jar包
<exclusion>可以移除,本人因为技术不是特别好,目前对这种操作并不会大胆操作,我们可以替换一些日志框架,方便后期维护
10.maven可以进行统一的项目版本管理,还有设置项目配置,依赖原则是通过路径近进行优先使用
<properties>
<atguigu.spring.version>4.1.1.RELEASE</atguigu.spring.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
11.聚合
将java项目变成一个一个的maven工程,然后进行一个大工程拼凑,使用聚合是项目进行模块分清,如果一个java项目几百个类,每个在架构上如果没分清楚,不利于后面发展
个人想法
花了差不多半小时将maven知识学习一遍,主要过一次思想,真正的使用maven开发会遇见特别多的问题,我将会这些bug进行总结,写成博客,方便以后查看,同时也会深度学习maven下。
以上资料学习参考xxx学院
https://files.cnblogs.com/files/blogs/698379/Maven%E8%AF%BE%E4%BB%B6.zip