admin管理员组文章数量:1794759
开发工具 Maven、Git、IDEA插件
文章目录
- 一、Maven
- - 1.企业级架构
- - 2.Maven 项目构建工具
- - - 1.概述
- - - 2.为何需要maven?
- - 3.四大特征
- - - 1.仓库 repository
- - - 2.依赖 dependency
- - - 3.坐标 coordinate
- - - 4.指令/命令 mvn cmd
- - 4.安装
- - -1.安装
- - 5.配置 settings.xml
- - - 1.配置文件
- - - 2.设置镜像仓库
- - - 3.改变仓库位置
- - 6.IDEA 集成 maven
- - 7.创建项目不标识
- - 8.关于Server URL地址说明
- - 9.关于Maven的重要说明
- - - 1.jar包依赖传递性说明
- - - - 1.知识点1 jar包下载不完整解决方案:
- - - - 2.知识点2: jar包传递性的原理.
- - - 2. jar包下载安全性说明(扩展)
- - - 1.知识讲解:
- - - 2.知识扩展:
- - - 3.数据传递的有效性
- - 10.IDEA创建maven项目
- - 11.常见问题
- - - 1.搜索maven依赖的坐标
- - - 2.执行maven命令时内存溢出
- - - 3.版权导致jar远程仓库中没有
- - - 4.下载中断
- - - 5.避免上网下载这么多jar
- - - 6.Maven仓库死活不对之绝招
- - - 7.版本号共享
- - 12.创建一个Maven工程
- 二、Git
- - .概述
- - 1.Git版本控制
- - - 1.开发难题
- - - 2.概述
- - - 3.组成结构图
- - - 4.常用命令
- - 2.码云配置环境
- - - 1.注册账号
- - - 2.登录
- - - 3.安装GIT
- - - 4.设置字体
- - - 5.查询git
- - 3.使用步骤
- - 4.检查
- - 5.日常操作
- - 6.Git的常规操作
- - -7.git中的分支
- 二、IDEA插件
- - 1.Lombok
- - - 1.作用
- - - 2.常用注解
- - - 3.步骤
- - - - 1.安装插件
- - - - 2.添加Lombok的jar包依赖(修改pom.xml文件)
- - - - 3.修改pojo实体类
- - - - 4.使用
- - - 4.lombok的@Accessors底层
- - - 5.lombok知识点
- - 2.SpringBoot热部署
- - - 1.作用
- - - 2.添加热部署的jar包依赖(修改pom.xml文件)
- - - 3.配置IDEA
- - - 4.测试
- - 3.Maven Helper
- - 4.整合Git
查询/下载最新版本和坐标的jar包
- 1.企业级架构架构图 之前我们关注的是前端的解决方案(涉及到的技术有H5、CSS3、JavaScript,CSS升级为Bootstrap再升级到ElementUI,JavaScript升级到jQuery再升级到Vue+NodeJS)现在开始我们开始关注后端的解决方案,也就是服务器端到底干了什么,哪些技术来支持(SpringBoot、Maven、SpringMVC、Spring、Mybatis)。这样前后端都学习完,整个软件项目所需要的基本技术就全线贯通,就可以自己独立完成企业级项目的开发了。 下面我们来描述一个经典的业务请求过程:前端html页面发起ajax请求(localhost:8080/factoryController/findAll),访问SpringMVC框架的Controller控制层,SpringMVC框架解析请求,找到要调用的某个Controller,找到其中的findAll方法,同时把请求提交的参数封装到java对象中。之后Controller层把请求传递给Spring框架的Service业务层,Service层在把请求传递给Mybatis框架的Mapper持久层,Mapper访问MySQL数据库进行数据库表的查询,查询结果返回给Mapper层,Mapper再返回给Service层,Service再返回给Controller层。Controller把java数据转换为json字符串,返回给ajax调用,ajax进行回调并把json字符串转换为js对象,再在页面中就可以通过js/vue解析js对象,最终把数据展现到html页面中。
开发工具:前端采用HBuilderX,而后端采用eclipse/idea 项目管理:前端采用npm、webpack,而后端采用Maven、SpringBoot web中间件:前端采用NodeJS,而后端采用Tomcat
- 2.Maven 项目构建工具 - - 1.概述 用来下载并且管理jar包的工具,用来构建项目的方式Maven是跨平台的项目管理工具。作为Apache组织中的一个颇为成功的开源项目,主要服务于基于java平台的项目构建、依赖管理和项目信管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。
- - 2.为何需要maven?Java工程中我们自己去找jar,或者来自官网,或者来自网友的分享,或者来自项目团队的共享,不论何种方式,都需要把jar文件复制到lib目录中,并且buildpath。 Maven改变这种手动维护jar的方式,设计出一套自动维护jar的体系,已经广泛在软件项目中使用,是软件开发人员必须掌握的技术。
全新的设计体系:创先河的发明pom模型,引入了“仓库”、“依赖”、“坐标”和“命令”。
- 3.四大特征 - - 1.仓库 repository仓库:
- 中央仓库/远程仓库:本质上就是一个国外的网址
- 镜像仓库:其实就是一个国内的网址,人家从中央仓库下载好了jar包,你可以直接用
- 本地仓库:其实就是你自己定的文件夹的位置,用来存jar包
Maven和我们之前学习的git很类似,其也是分布式架构,它有一个全球仓库,称为中央仓库,全球开发者都可以连接它来自动下载jar包,而无需去厂家官网下载了。都到一个中央仓库下载,中央仓库压力山大,于是全球各地做镜像仓库,如中国就有网易、阿里等镜像仓库。但每次都去外网下载,那不成天光交网费了。Maven当然不会这么做了,它还有本地仓库。下载一次后,不会再次下载的,除非你删除了。
当用户需要某个jar包时,先到本地仓库寻找,没有再去镜像仓库,没有再去中央仓库。中央仓库找到后,并不直接返回到本地仓库,而是保存一份到镜像仓库,镜像仓库返回本地仓库,本地仓库也保存一份,然后返回给调用者。这样设计是不是太精妙了,只需维护中央仓库,其它仓库自行维护。这就是maven的魅力,这种设计思想是我们开发者需要琢磨和借鉴的。
因为其全自动化,中央仓库默认,镜像仓库需要配置,而无需写一句代码。
仓库只解决了jar包从哪来和放在哪里,jar包千千万,我们有jdbc驱动,有junit单元测试,有spring框架,有mybatis等等,那如何去给我们的项目调用呢?
- - 2.依赖 dependency依赖:
- Maven会自动下载并且管理相关的jar包
每个核心jar包形成一个依赖,maven底层进行它相关的jar的自动导入
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency> - - 3.坐标 coordinate坐标:
通过Maven下载很多的jar包,唯一的定位方式就是使用坐标。
- groupId: 通常指定组,值一般是指公司的域名
- artifactId: 通常项目名称
- version: 是指版本号
为什么要有坐标呢?坐标的本质是什么呢?
Maven世界拥有大量构建,我们需要找一个用来唯一标识一个构建的统一规范。拥有了统一规范,就可以把查找工作交给机器,默认查找jar包。
看完有何感想?还没豁然开朗?坐标不就是形成一套文件存放规则,这样全球不同厂商的jar包都可以保存在maven仓库中,而不会冲突,各自在各自的目录中。哪怕自家的因为版本号的不同,也会放在不同的目录中,也就不会自家引起冲突。
同时最重要的是,拥有了统一规范,拥有了唯一命名,就可以把查找工作交给自动查找到所要的jar包。
这设计水平可见一斑。一套目录规则,就把jar自动化处理变成现实。
- - 4.指令/命令 mvn cmd命令: maven提供了很多命令,常用的有clean , install
接下来又是一个很牛的设计,这个思想非常值得品味。Maven借鉴前辈定义了一套生命周期。共有3个生命周期:clean、default、site,每个生命周期包含多个阶段phase。这个并没有什么称奇的,而接下来才是厉害的地方。 常用命令:
-
clean 清理
删除编译后的目录 target .java文件 .jar(xxx.class文件) 用法: 1.当出现编译问题时,使用clean。 2.项目打包前使用 -
compile 编译
-
test 测试
-
site 站点文档
-
package 打包 jar、war
-
deploy 部署到私服
-
install 安装jar到本地仓库中(打包)
项目发布,将xxx.class文件打包成xxx.jar jar包位置: 1.target目录 2.本地仓库 -
run 运行
每个周期中运行一个命令时,在这个周期里的其他在该命令之前的phase步骤都会执行。如:执行install会自动执行compile(编译java变成了class),test(运行所有单元测试类),package(把整个项目零碎的class文件打包为jar包),最终把成品jar发布到本地仓库中。但执行install并不会自动执行clean。
小结 优点:
- Jar管理起来更加轻松,已经被业界广泛采用,springboot就是maven的延伸
- 仓库的独特设计,实现仓库自行维护
- 依赖管理方便很多,把开发人员从手工导包解脱出来
- 坐标体系使不同厂商的文件也井然有序,不会冲突覆盖
- 生命周期对应命令,使一键做完以前手动的n步事情
缺点:
- 下载异常让初学者手足无措,不得不删掉仓库重新下就好了,为什么好了,不知道
- 部分包因为版本问题,需要手工导入
- 引发新的问题,版本冲突:大型项目中jar中依赖其它jar包,会发生你调3.1,我调3.2,臭名昭著的版本冲突问题,如何解决呢?上面方式手工排除,而maven采用就近原则
- 本地仓库日积月累巨大,很多低版本的jar已经无用,或者过气的技术的jar包
- 大型项目中jar包冲突非常厉害,仍需手动排除,而且实现方式很多,没有统一规则。如当年加入dubbox的jar包时,那冲突叫做满天飞,项目做完也没很良好的解决。但这点springboot却解决了,maven的失败却造就了今天springboot能大行其道的根本原因。
官网 maven.apache/download.html
- -1.安装程序员操守:
绿色版,下载解压到指定目录,如:d:/java/maven
- 5.配置 settings.xml - - 1.配置文件apache-maven-3.6.3\\conf\\settings.xml 全局配置文件
- - 2.设置镜像仓库默认从maven官网下载,全球都去下载,又是国外网站,因此速度缓慢。
配置为阿里镜像,速度快,但有时有错,如果有错,删除配置,默认从maven官网下载。
配置阿里私服镜像仓库,可以写在mirrors标签中间:
<!--阿里私服地址--> <mirror> <id>ali</id> <name>ali Maven</name> <mirrorOf>*</mirrorOf> <url>maven.aliyun/repository/public/</url> </mirror> - - 3.改变仓库位置默认仓库位置:C:\\Users\\tarena.m2,建议改变默认仓库位置的配置,否则重装操作系统时,可能会把仓库误删除。
- 6.IDEA 集成 maven如图:创建项目之后,不能被maven项目标识。 解决方案:
- 8.关于Server URL地址说明课上使用默认配置 jar包版本下载2.5.3
路径: start.spring.io/ start.aliyun/ - 9.关于Maven的重要说明 - - 1.jar包依赖传递性说明例子: 假设: A.jar 依赖 B.jar , B.jar 依赖于 C.jar 说明:在项目中 添加了web的jar包,则可以依赖其他的jar包,为项目提供支持。
- - - 1.知识点1 jar包下载不完整解决方案:如果pom.xml文件jar包文件报错. 检查本地仓库中的jar包文件是否完整.如果下载不完整. 则手动删除文件.之后重写下载.
- - - 2.知识点2: jar包传递性的原理.说明: 当maven依赖jar包文件时,首先根据坐标查找本地仓库的路径,之后添加jar包文件. 之后再次加载该文件目录的xxx.pom文件.读取其中的依赖项,进行再次依赖.以此类推.
- - 2. jar包下载安全性说明(扩展)说明: maven数据传输 通过sha1的数字摘要 包装数据的完整性
- - 1.知识讲解:SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
- - 2.知识扩展: 问题1:如果数据相同,采用相同的hash函数,则值是否相同? 答案:必然相同!!!! 问题2:常见hash编码,是多少位16进制数? 答案:8位16进制数 问题3:8位16进制数,取值区间多少? 答案:2^32 00000000-FFFFFFFF (2^4)^8=2^32 问题4:1kb和的数据和1gb的数据,hash谁快? 答案:一样快 问题5:数据相同,则hash码相同;hash码相同,则数据相同吗? 答案:不一定,可能会发生hash碰撞 降低碰撞的概率,增大hash长度 - - 3.数据传递的有效性当我们从远程仓库下载完jar包时,判断jar包是否被黑客篡改过
- 10.IDEA创建maven项目- 11.常见问题 - - 1.搜索maven依赖的坐标
查询最新版本和坐标 search.maven/
- - 2.执行maven命令时内存溢出在使用maven时,如果报内存溢出,如使用 mvn site会耗费大量内存,则修改默认配置。
D:\\Maven\\apache-maven-3.6.3\\bin\\mvn.cmd 在@REM set MAVEN\\_OPTS=……后加入 set MAVEN\\_OPTS= -Xms128m -Xmx512m - - 3.版权导致jar远程仓库中没有例如oracle、全文检索的IKAnalyzer分词器、Dubbox等。
解决办法:按maven坐标手动创建目录结构,将jar单独下载,放入其中。
- - 4.下载中断远程仓库为国外网站,又是众矢之的,全球都到那里下载。常会因为网络故障导致jar下载不完全:
jsp-api-2.1.jar.lastUpdated -- 没下载全,不能用,用时会报错 mysql-connector-java-5.1.48.jar -- 下载OK的,才可以用遇到这样的情况:
- 可以等待网络比较好的时候再下载
- 可以拷贝别人的仓库
- 如果只是个别jar包,可以到jar的官网下载后,然后手动配置
最恶劣的一种情况,下载出异常,也就是pom.xml会提示jar包有问题,可到maven本地仓库,jar也存在。这时可以打开jar包,看是否能打开。如果打不开,则删除,触发maven重新下载。
- - 5.避免上网下载这么多jar注意: Maven不同的myeclipse/eclipse,myclipse的maven的插件会调用不同版本的jar。不会缺少业务使用的jar。
Maven命令实际是一个jar包,运行前必须需下载maven的插件,运行时判断如果不存在会自动下载。
- - 6.Maven仓库死活不对之绝招拷贝环境没问题的 同学的配置文件 和 仓库 。
- - 7.版本号共享通常在项目中,我们会同时依赖同一个构件的不同模块,如 spring-orm-3.2.0,spring-context-3.2.0,且多个模块版本相同,为了维护和升级方便,我们可以对其同一管理,这时可以使用到 Maven 属性,类似于变量的概念。
<!-- 集中定义依赖版本号 --> <properties> <junit.version>4.10</junit.version> <spring.version>4.1.3.RELEASE</spring.version> </properties> <!--引用的地方 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency>命令插件一键部署,执行每个命令会自动调用前面的命令。可以一次执行多个命名。只能执行本生命周期中的前面的命令。
每个maven命令就是一个jar包,一个maven插件,在第一次运行时下载。
- 12.创建一个Maven工程官网下载地址:git-scm/download/win
选择自己需要版本就行 - 1.Git版本控制 - - 1.开发难题在实际开发中我们会遇到一些问题,电脑蓝屏,代码丢了,懊悔不?磁盘坏了,文件没了,懊悔不?时间长了,文件找不到了,懊悔不?手欠,之前代码运行好好的,非要去优化下,结果还不如以前,信心满满,之前代码没保存,懊悔不?怎么解决呢?版本控制就可以解决这些难题了。
版本控制(Version Control System),它功能强大,不仅能备份你的文件,还可以实现很多:
- 记录文件的所有历史变化
- 错误恢复到某个历史版本
- 多人协作开发编辑同一个文件
- 实现功能差异版本(分支),如:mysql、mariadb、percona三个分支
是一个版本控制产品,用来实现资源的版本控制. 可以把资源随时上传到Git上,可以随时拉取下载 好处: 快速恢复到历史版本. 容错性高. 远程仓库: 是指 Gitee官网 的网址,存你已经传上去的资源 本地仓库: 是指你磁盘里的一个路径,存你即将要上传的资源 本地索引: 是指将要提交的数据建立索引,方便查找定位 工作空间: 保存了资源的位置 过程: 工作空间 -> 本地索引 -> 本地仓库 -> 远程仓库
- - 3.组成结构图Workspace:开发者工作区,也就是你当前写代码的目录,它一般保持的是最新仓库代码。
Index / Stage:缓存区,最早叫Stage,现在新版本已经改成index,位于.git目录中,它用来存放临时动作,比如我们做了git add或者git rm,都是把文件提交到缓存区,这是可以撤销的,然后在通过git commit将缓存区的内容提交到本地仓库
Repository:仓库区,是仓库代码,你所有的提交都在这里,git会保存好每一个历史版本,存放在仓库区,它可以是服务端的也可以是本地的,因为在分布式中,任何人都可以是主仓库。
Remote:远程仓库,只能是别的电脑上的仓库,即服务器仓库。
- - 4.常用命令每个人必须有自己的账号,先官网注册账号: gitee/
- - 2.登录 - - 3.安装GITGit-2.27.0-64-bit,一路next,安装完桌面右键菜单有下面两项,安装完成。选择Git Bash,进入git客户端。
Windows开始菜单:
- - 4.设置字体 - - 5.查询git - 3.使用步骤1, 把你要提交的资源拷贝到 本地仓库 2, 在本地仓库处, 执行以下Git命令提交资源
git add . git commit -m "test" git push -u origin master # push:将本地仓库与远程仓库合并 # -u:将本地仓库分支与远程仓库分支一起合并,就是说将master的分支也提交上去,这样你就可以在远程仓库上看到你在本地仓库的master中创建了多少分支, # 不加这个参数只将当前的master与远程的合并,没有分支的历史记录,也不能切换分支 # origin:远程仓库的意思,如果这个仓库是远程的那么必须使用这个选项 # master:提交本地matser分支仓库 - 6.Git的常规操作git 工作区 缓存区 本地仓库 远程仓库 1.检查当前分支 git branch 2.创建分支 git checkout -b "新分支名称" 3.推送新分支 git push -u origin “新分支名称” 第一次推送需要写-u 4.将文件添加到缓存区 git add . 5.提交代码 git commit -m “提交的文件的描述信” 6.推动代码到云端 git push 7.合并代码到主分支 git merge "分支名称" 在主线中操作 8.克隆代码 git clone “仓库地址” 9.将远程库的数据更新到本地 git pull
10.git强制删除分支:git branch -D 11.查看仓库信:git remote 12.修改分支名称:git branch -m 分支名 "新的分支名" 13.查看日志简洁方法:git log 14.删除文件:git rm "文件名" 如果我们使用普通的命令,rm删除文件,git状态会提示你删除了文件,你只需要使用add重新提交一次就可以了。
- -7.git中的分支说明:开发中需要创建自己的分支结构,如果分支中的代码准确无误,应该将分支结构并入主线(master) 步骤:
以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。
- - 2.常用注解@Getter/@Setter: 作用类上,生成所有成员变量的getter/setter方法;作用于成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限及是否懒加载等。 @ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。 @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor:作用于类上,用于生成构造函数。有staticName、access等属性。 @AllArgsConstructor:生成全参构造器 @Data:作用于类上,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
- - 3.步骤 - - - 1.安装插件- - - 2.添加Lombok的jar包依赖(修改pom.xml文件) 在pom.xml文件中输入: <dependencies> 右键 -> Genreate -> Dependency -> 搜索要插入的插件jar包名称 </dependencies> <?xml version="1.0" encoding="UTF-8"?> <project xmlns="maven.apache/POM/4.0.0" xmlns:xsi="www.w3/2001/XMLSchema-instance" xsi:schemaLocation="maven.apache/POM/4.0.0 maven.apache/xsd/maven-4.0.0.xsd"> <parent> <artifactId>cgb2106boot02</artifactId> <groupId>cn.tedu</groupId> <version>0.0.1-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>day16</artifactId> <!-- 添加jar包依赖 --> <dependencies> <!-- 添加lombok插件 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency> </dependencies> </project> - - - 3.修改pojo实体类 package cn.tedu.pojo; public class Car { private Integer id; private String name; private String type; private String color; private Double price; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } @Override public String toString() { return "Car{" + "id=" + id + ", name='" + name + '\\'' + ", type='" + type + '\\'' + ", color='" + color + '\\'' + ", price=" + price + '}'; } }
使用lombok修改后的实体类:
package cn.tedu.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; //使用lombok @Data //自动生成get set toString hashCode equals @NoArgsConstructor //自动生成无参构造 @AllArgsConstructor //自动生成全参构造 @Accessors(chain = true) //开启链式编程 public class Student { private Integer id; private String name; private String sex; } - - - 4.使用 package cn.tedu.controller; import cn.tedu.pojo.Car; import org.junit.Test; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("car") public class Test { //访问localhost:8080/car/find, //在浏览器展示了{"id":100,"name":"保时捷","type":"Cayman T","color":"红色","price":641000.0} @RequestMapping("get") public Object get(){ Car c = new Car(); c.setId(100); c.setName("保时捷"); c.setType("Cayman T"); c.setColor("红色"); c.setPrice(641000.00); return c; } //单元测试(之前的写法) @Test public void get1(){ Car c = new Car(); // c.setId(new Integer(100));//写全是这样的 c.setId(100);//自动装箱 c.setName("保时捷"); c.setType("Cayman T"); c.setColor("红色"); c.setPrice(641000.00); System.out.println(c); } //测试lombok @Test public void get2(){ Student s = new Student(); Student s2 = new Student(100,"泡泡老师","女"); // s.setId(100); // s.setName("泡泡老师"); // s.setSex("女"); System.out.println(s2); //对set()可以使用lombok的链式编程 s.setId(100).setName("泡泡老师").setSex("女"); System.out.println(s.getId()+s.getName()+s.getSex()); } } - - 4.lombok的@Accessors底层 package com.jt.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; import java.io.Serializable; //标准的写法 //知识点:为什么需要添加无参构造??? // 利用反射机制实例化对象时,默认调用无参构造 @Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) public class User implements Serializable { private Integer id; private String name; //链式加载的底层原理,重写了set方法,返回User对象 public User setId(Integer id){ this.id = id; return this; // 代表当前对象!!! } public User setName(String name){ this.name = name; return this; } } - - 5.lombok知识点问题: lombok使用需要提前安装lombok插件!!, 如果项目发布在Linux系统中.问: 系统是否需要提前安装插件?
答案: 不要,因为lombok插件只在编译期有效!!!
xxx.java文件编译为xxx.class文件. 知识衍生: 写的是java源码, 运行的是编译后的.class
- 2.SpringBoot热部署 - - 1.作用每次修改代码修改之后,需要手动的重启服务器。在开发阶段 能否有一种高效的机制。 每次修改代码之后程序自动重启
- - 2.添加热部署的jar包依赖(修改pom.xml文件) <!--SpringBoot核心机制: "开箱即用" 只需导入特定的jar包文件 则可以直接使用其中的功能 根本原因: SpringBoot是对框架的简化,内部进行了扩展,无需程序员操作. --> <!-- 添加热部署的jar包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <version>2.5.3</version> </dependency> - - 3.配置IDEA触发机制::程序的代码被修改了之后需要重启,需要配置IDEA自动的编译代码触发修改的状态。 组合键: ctrl + shift + alt + / 或者 ctrl + alt + a
- - 4.测试修改了代码,不必重新启动了,只需要重新编译即可访问新数据。
- 3.Maven Helper查看pom文件中依赖包依赖
- 4.整合Git版权声明:本文标题:开发工具 Maven、Git、IDEA插件 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686822833a107092.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论