maven知识点思维导图
2021-01-14 09:48:32 182 举报
AI智能生成
Maven相关知识点入门思维导图 快速项目构建工具,SSM框架开发必备工具技能 公众号【小张日拱一卒】回复【合集】获取xmind文件
作者其他创作
大纲/内容
此段克隆后可删除
使用前先阅读公众号小张日拱一卒的NewBorn文章
文章介绍了<br>
我的分享历程
我公布了哪些思维导图笔记
ProcessOn这款应用如何使用,如何高效的利用我所有的思维导图笔记
<font face="宋体">访问我的ProcessOn主页查看更多分享内容</font>
技术路线
CodeSheep:【建议收藏】按这个学,找工作没问题!Java后端开发详细学习路线
视频链接
根据视频整理的路线导图
编程基础篇
<font color="#FF0000"><b>Java集合</b></font>思维导图(含面试问题整理)
ArrayList、HashMap、ConcurrentHashMap……自学整理
<font color="#FF00FF"><b>JVM</b></font>思维导图(知识点总结,JVM面试题整理)
浏览量9K+,克隆量1.5K+,快来拥抱下,宋红康JVM视频(力荐)
<font color="#7B1FA2"><b>Java并发编程</b></font>思维导图(知识点总结,含面试题整理)
Java线程方法、管程Monitor、J.U.C、volatile……面试热点
设计模式
我是在学习过程中遇到一个设计模式案例,深入学习一个<br>
推荐书籍:HeadFirst设计模式
公众号:回复“设计模式”
开发工具
Maven知识点思维导图
项目管理构建必备工具,学习SSM之前建议先掌握Maven或Gradle
<font color="#388E3C"><b>SSM框架</b></font>
Spring思维导图(知识点总结,含面试题整理)
框架的基础,搭建项目的核心
SpringMVC思维导图(知识点总结,含面试题整理)
SSM框架必备
MyBatis思维导图(知识点总结,含面试题整理)
项目经验必备技能点
目前bilibili平台只能找到MyBatis视频<br>
公众号回复:“ssm”获取完整视频+文档
SpringBoot思维导图(知识点总结)
应用最为广泛,无缝衔接Redis、RabbitMQ等
<font color="#0000FF"><b>redis</b></font>知识点总结(含面试问题整理)
Maven存在的意义
完成一个Java项目,需要哪些工作?<br>
分析项目需求,划分功能模块<br>
设计项目,使用技术列表,分配资源,人力<br>
开发人员编写代码
测试自己的代码(重复多次)
测试人员
测试项目是否符合需求
存在问题,回退开发人员
开发、测试往复多次直至测试通过
没有Maven管理的项目
大量模块,模块与<u>模块</u>之间的<u>关系</u>,手工管理关系,任务繁琐<br>
需要很多第三方功能, 需要很多jar包,需要手工从网络中<u>获取各个jar包</u>
需要<u>管理jar的版本</u>, 你需要的是mysql.5.1.5.jar 而不是mysql.4.0.jar
管理jar文件之间的<u>依赖关系</u>, 你的项目要使用a.jar 需要使用b.jar里面的类。<br> 必须先获取到b.jar才可以, 然后才能使用a.jar.
<font color="rgba(0, 0, 0, 0)">说说什么是Maven</font>:项目构建、依赖管理<br>
<b>管理</b>jar文件
<b>自动下载</b>jar和其文档,源代码<br>
管理jar之间的<b>依赖</b>, a.jar需要b.jar , maven会自动下载b.jar
管理你需要的jar<b>版本</b>
<font color="rgba(0, 0, 0, 0)">说说Maven的构建过程</font><br>
项目的构建<br>
构建是面向过程的,就是一些步骤,完成项目代码的编译,测试,打包,安装,部署等<br>
清除:把之前项目编译的东西删除掉,为新的编译代码做准备。<br>
帮你编译程序,把java<b>编译</b>为class<br>
<u><font color="#000000">批量</font></u>的,区别于javac一个一个文件的编译
帮你<b>测试</b>你的代码是否正确<br>
<u>批量</u>的,maven同时执行多个测试代码,同时测试很多功能
测试通过
报告, 生成测试结果的文件<br>
<b>打包</b>, 把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中<br>
这个压缩文件就是项目的结果文件, 通常java程序,压缩文件是jar扩展名。<br> 对于web应用,压缩文件扩展名是.war
安装:文件jar,war安装到本机仓库
帮你<b>部署</b>项目<br>
不用Maven
Maven安装
需要从maven的官网下载maven的安装包 apache-maven-3.3.9-bin.zip
解压安装包,解压到一个目录,非中文目录。<br>
子目录 bin :执行程序,主要是mvn.cmd(项目构建)<br>
conf :maven工具本身的配置文件 settings.xml<br>
配置环境变量<br>
在系统的环境变量中,指定一个M2_HOME的名称, 指定它的值是maven工具安装目录,bin之前的目录
验证,新的命令行中,执行<b>mvn -v</b>
Maven<font color="rgba(0, 0, 0, 0)">常用命令</font>有哪些?<br>
mvn clear<br>
会删除原编译和测试的目录(target目录)<br>
插件:maven-clear-plugin<br>
mvn compile
编译main/java下的所有文件和main/resources配置文件,在项目下生成target文件夹来存储编译后的字节码文件+配置文件
插件:maven-resources-plugin<br>
插件:maven-compile-plugin
mvn test-compile
编译test/java编译测试文件+配置文件,在项目下生成target/test-classes,编译后字节码文件+配置文件<br>
mvn test
运行测试文件,生成测试报告,target/surefire-reports
在执行mvn test时,会自动进行生命周期中清除、编译
mvn package
打包
target/***.jar
插件:maven-jar-plugin<br>
只包含src/main/所有内容
mvn install
安装
将打包好的jar安装到本地maven仓库
插件:maven-install-plagin<br>
<strike>mvn deploy(不用)</strike><br>
部署
执行以上命令必须在命令行进入pom.xml所在目录<br>
Maven的核心概念
约定的目录结构<br>
maven项目的目录和文件的位置都是规定的
Hello/src/main/java<br>
主程序功能代码,service,dao,controller等
Hello/src/main/resources
主程序要使用的配置文件
Hello/src/test/java
测试程序,junit的代码放在这里
Hello/src/test/resources
测试程序使用的配置文件
Hello/pom.xml
maven的核心文件(maven项目必须有,项目启动先到这里找主程序和测试程序)<br>
仓库管理(了解)<br>
存储所有Maven的构件
本地仓库:优先访问本地仓库资源<br>
默认位置:.m2/repository
Maven的配置文件查看(可更改)
远程仓库
中央仓库
中央仓库镜像
私服<br>
资源查找(<b>自动完成</b>):本地仓库--->私服--->镜像--->中央仓库
<b>构件</b>:在Maven中,任何一个依赖,插件或者项目构建的输出<br>
POM文件<br>
文件名称pom.xml ,project object model项目对象模型
maven把一个项目当做一个模型使用。控制maven构建项目的过程,管理jar依赖
坐标gav<br>
唯一值, 在互联网中唯一标识一个项目(此项目的坐标+依赖的坐标)<br>
groupId
<groupId>公司域名的倒写</groupId>
artifactId
<artifactId>自定义项目名称</artifactId>
version<br>
<version>自定版本号</version>
packaging
打包后压缩文件的扩展名,默认是jar ,web应用是war
依赖<br>
(相当于 java代码中import/引用)项目依赖于哪些jar包
dependencies
dependency
properties
设置属性
UTF-8<br>
build
maven在进行项目的构建时, 配置信息
如指定编译java代码使用的jdk的版本等
继承(高级)
父子关系
聚合(高级)
很多项目归纳到一起<br>
生命周期 (了解)<br>
maven构建项目的过程,清理,编译,测试,报告,打包,安装,部署
maven的命令来完成的
maven独立使用,通过命令,完成maven的生命周期的执行
maven的<b>插件</b>
maven命令执行时,真正完成功能的是插件
插件就是一些jar文件, 一些类
依赖范围
provided提供者,如:servlet,项目引用servlet的jar包,但是在打包部署阶段Tomcat已经提供servlet的jar包,所以这些依赖不参与打包部署
Maven的常用设置
Maven的属性设置
pom.xml:<properties> 设置maven的常用属性
maven的全局变量
自定义属性
在<properties> 通过自定义标签声明变量
<properties><spring.version>4.3.10</spring.version></properties><br>
引用全局变量:<dependency><version>${spring.version}</version></dependency>
目的:如Spring的依赖有多个相同版本,修改一个全局变量的版本号,其他多处全局变量引用均随之修改
指定资源位置
maven执行编译代码时, 会把src/main/resource目录中的文件拷贝到target/classes目录中
对于src/main/java 目录下的非java文件不处理,不拷贝到target/classes目录中<br>
目的:我们程序需要把一些(properties)文件放在 src/main/java 目录下时,需要把文件一同拷贝到target/classes目录中<br>
动作:需要在<build>中加入<resources>
<build><br> <resources><br> <resource><br> <directory>src/main/java</directory><!--所在的目录--><br> <includes><!--包括目录下的.properties,.xml 文件都会扫描到--><br> <include>**/*.properties</include><br> <include>**/*.xml</include><br> </includes><br> <!—filtering 选项 false 不启用过滤器, *.property 已经起到过滤的作用了 --><br> <filtering>false</filtering><br> </resource><br> </resources><br> </build>
0 条评论
下一页
为你推荐
查看更多