Spring Boot 打包与热部署的操作方法
热部署

Spring Boot提供了DevTool。直接在pom.xml文件中添加配置。
1.添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
2.在maven插件依赖中新增
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--添加fork--> <configuration> <fork>true</fork> </configuration> </plugin> </plugins> </build>
提示:再使用Idea快捷创建Spring Boot项目时可以勾选Spring Boot DevTools选择即可。
3.修改Idea设置
注意:这里要用Idea的debug启动,debug启动,debug启动。
如果不是前后端分离的项目,在配置文件中添加配置,spring.thymeleaf.cache=false关闭页面缓存。
jar包
选中maven,点击运行。
控制台输出日志:
打的jar包在项目目录的target目录中。
Windows下运行:
进入jar包目录,执行 java -jar 包名
运行成功。
扩展:
如果打好了jar包,配置文件中的一些参数需要修改。如果不想重新打jar包。可以重新把一份新的application.yml配置文件与打好的jar包放在同级目录。重新运行即可。
验证:
从上述日志中看到,端口为80。这里我重新复制一份配置文件,将端口改为8088。重新运行查看端口。
这里是在Windows下运行,在Linux下运行差不多,
我们先把jar包,配置文件(可选)上传至服务器,运行。
啊咧,80端口已经被项目占用了。
重新上传一份8088端口的配置文件。
验证成功以后,还有一个问题,无论是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
<!-- 将jar改成war,如果没有,则添加--> <packaging>war</packaging>
<!-- 新增 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <!-- 打包运行时,排除 --> <scope>provided</scope> </dependency>
注意这两处的节点位置。
修改启动类
此时启动类中的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即可。
war包已经打好了,直接丢Tomcat了。
启动Tomcat即可。
但是在实际开发中,还是不推荐打war包。
代码知识SEO上一篇 : SpringBoot同一接口多个实现类配置的实例详解
下一篇 : Python中logging日志的四个等级和使用
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!