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