前言
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
- 测试访问http://localhost:8080/hello/sayHello
第二种 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
关于文件名问题
看到这项目运行,访问路径还加了版本号,明显很扎眼。解决办法有两种
<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部署更加简单,可以参考docker基础(14):如何手动发布项目
|