热部署在java中的包名_Spring Boot 打包与热部署的操作方法

热部署

Spring Boot提供了DevTool。直接在pom.xml文件中添加配置。

1.添加依赖

org.springframework.boot

spring-boot-devtools

2.在maven插件依赖中新增

org.springframework.boot

spring-boot-maven-plugin

true

提示:再使用Idea快捷创建Spring Boot项目时可以勾选Spring Boot DevTools选择即可。

3.修改Idea设置

75c35bb75d50cf48fcd42593f8c5d577.png

487205f72d2facea817e4a47588de26e.png

注意:这里要用Idea的debug启动,debug启动,debug启动。

如果不是前后端分离的项目,在配置文件中添加配置,spring.thymeleaf.cache=false关闭页面缓存。

jar包

e50861f78d6e1e2740323f3f5abc92f9.png

00aa9a16e8187241e548ece0b9f78e6a.png

0da6dda50699d84655d6e38171e1843a.png

0e36c3b95f34834dbcb16b3560a247e3.png

选中maven,点击运行。

控制台输出日志:

27337a1ca4cb049b3196c92eba2ababa.png

打的jar包在项目目录的target目录中。

Windows下运行:

5a0883a5dd0feb5a6c880b578d35ecb8.png

进入jar包目录,执行 java -jar 包名

4f4cb8fa3deee7873a85d73426936965.png

运行成功。

扩展:

如果打好了jar包,配置文件中的一些参数需要修改。如果不想重新打jar包。可以重新把一份新的application.yml配置文件与打好的jar包放在同级目录。重新运行即可。

验证:

从上述日志中看到,端口为80。这里我重新复制一份配置文件,将端口改为8088。重新运行查看端口。

862c9d54feac606e4f211c1888f51d42.png

81a46a928cf5de422cbbaff3a12cfedb.png

这里是在Windows下运行,在Linux下运行差不多,

我们先把jar包,配置文件(可选)上传至服务器,运行。

f6a2437eb38a1c0ea57c3690fb8a2f0f.png

啊咧,80端口已经被项目占用了。

466cfe883d8de81b4cfc71b405e8d916.png

重新上传一份8088端口的配置文件。

2fe646b950fdc302c8733ecaa523be87.png

验证成功以后,还有一个问题,无论是Windows窗口还是Linux窗口运行的jar包,窗口关闭以后,项目进程就结束了。但是你窗口不会一直开着。

在Linux下我们需要后台运行。

nohup java -jar springboot-demo2-0.0.1-SNAPSHOT.jar >> srpingboot.log &

解释:后台运行SpringBoot的jar包,并将运行java -jar springboot-demo2-0.0.1-SNAPSHOT.jar命令的输出日志追加输出到springboot.log文件中。

划重点:

>> 输出到文件,追加操作。

> 输出到文件,覆盖操作。

& 在Linux命令的末尾加上一个 & 号,将这个任务放到后台去执行

nohup no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

这些都是一些Linux命令,可以自己敲一敲测试即可。

后台运行,如何关闭?直接kill。kill -9 pid(运行项目进程的PID)

war包

SpringBoot不推荐打war包,但是你说我头铁,非要打war包咧?可!

修改pom.xml

war

org.springframework.boot

spring-boot-starter-tomcat

provided

注意这两处的节点位置。

修改启动类

此时启动类中的main方法已经失效了。以测试项目为例

@SpringBootApplication

@MapperScan("com.demo.dao")

public class SpringbootDemo2Application extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

return builder.sources(SpringbootDemo2Application.class);

}

public static void main(String[] args) {

SpringApplication.run(SpringbootDemo2Application.class, args);

}

}

继承SpringBootServletInitializer类并重写configure方法。注意方法体的书写。

接下来就继续使用maven打包即可。参数上面打jar的使用maven方式。

打好的war包是需要放在容器中执行的,简单的就放在Tomcat中的webapps目录中。启动Tomcat即可。

7a4a2b4eb15019a636a1b58daa7eca0c.png

war包已经打好了,直接丢Tomcat了。

667bab657afdc2ba92a3beaad25dd291.png

启动Tomcat即可。

但是在实际开发中,还是不推荐打war包。

到此这篇关于Spring Boot 打包与热部署的操作方法的文章就介绍到这了,更多相关Spring Boot 打包与热部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值