springboot进阶(11):springboot项目的两种部署方式
文章目录前言如何发布项目第一种 jar方式部署(默认方式)第二种 war包方式运行关于文件名问题关于springboot线上部署前言springboot项目开发完成后续,需要部署到服务运行。springboot项目运行有两种方式,一种是jar包(官方推荐),一种是war包。如何发布项目第一种 jar方式部署(默认方式)创建一个springboot 项目, 选择springboot web组件。创建
前言
springboot项目开发完成后续,需要部署到服务运行。
springboot项目运行有两种方式,一种是jar包(官方推荐),一种是war包。
如何发布项目
第一种 jar方式部署(默认方式)
- 创建一个springboot 项目, 选择springboot web组件。
- 创建一个HelloController
package com.it2.springbootweb01;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class HelloController {
@GetMapping("/sayHello")
public String sayHello(){
return "hello";
}
}
3. 打包项目
4. 找到刚刚打包的jar包
5. 进入到jar文件所在的目录运行。(在linux系统下运行命令一样,切换到jar所在目录,并执行java -jar命令)
java -jar ./springboot-web01-0.0.1-SNAPSHOT.jar
第二种 war包方式运行
继续用刚刚创建的工程,进行小的调整。
- 将启动类继承SpringBootServletInitializer
- 重写configure方法
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(你自己的启动类名称.class);
}
- 修改pom文件的打包方式
<packaging>war</packaging>
4. 再来打包
5. 将war文件复制到tomcat的webapps目录下,启动tomcat 即可。
http://localhost:8080/springboot-web01-0.0.1-SNAPSHOT/hello/sayHello
关于文件名问题
看到这项目运行,访问路径还加了版本号,明显很扎眼。解决办法有两种
- 方法一 在pom文件配置打包名称(推荐)
<!--指定文件打包名称-->
<finalName>springboot-web01</finalName>
再次将打包后的文件复制到tomcat的webapps目录下,并启动tomcat,访问地址:
http://localhost:8080/springboot-web01/hello/sayHello
- 方法二 将打包文件复制到tomcat的webapps目录下,然后手动改名。
操作略。
关于springboot线上部署
我们打包和部署虽然,很方便,但是在linux系统上,我们最起码还要安装jdk,配置redis等操作。这样在服务器部署仍然要花费比较多的时间。
小项目(只有几台或者单台):
可以使用docker部署即可。
大项目(微服务架构+服务器比较多):
可以采用docker+k8s的模式进行部署。
单体的项目:
直接docker搞定。
其实上面的这个简单的springboot项目,才linux上使用docker部署更加简单,可以参考
更多推荐
所有评论(0)