心心失意 发表于 2017-12-26 10:40:40

如何将Spring Boot项目打包部署到外部Tomcat

  1.项目打包
  项目开发结束后,需要打包部署到外部服务器的Tomcat上,主要有几种方式。
  (1)生成jar包
  cd 项目跟目录(和pom.xml同级)
  mvn clean package
  ## 或者执行下面的命令
  ## 排除测试代码后进行打包
  mvn clean package-Dmaven.test.skip=true
  打包完成后jar包会生成到target目录下,命名一般是 项目名+版本号.jar
  启动jar包命令
  java -jartarget/spring-boot-scheduler-1.0.0.jar
  这种方式,只要控制台关闭,服务就不能访问了。下面我们使用在后台运行的方式来启动:
  nohup java -jar target/spring-boot-scheduler-1.0.0.jar &
  也可以在启动的时候选择读取不同的配置文件
  java -jar app.jar --spring.profiles.active=product
  也可以通过IDEA的Maven工具生成,点击Lifecycle-install,生成jar
  (2)生成war包
  (1)修改打包类型为war:<packaging>war</packaging>
  

    <packaging>war</packaging>  

  (2)添加spring-boot-starter-tomcat依赖,scope设置为provided
  

<dependency>  
<groupId>org.springframework.boot</groupId>
  
<artifactId>spring-boot-starter-tomcat</artifactId>
  
<scope>provided</scope>
  
</dependency>
  

  (3)注册启动类
  创建ServletInitializer.java,继承SpringBootServletInitializer ,覆盖configure(),把启动类Application注册进去。外部web应用服务器构建Web Application Context的时候,会把启动类添加进去。
  

public>
@Override  

protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {  

return application.sources(BootdemoApplication.class);  
}
  
}
  

  同样也是两种方式执行:
  (1)mvn clean package -Dmaven.test.skip=true
  (2)通过IDEA的Maven工具生成,点击Lifecycle-package,生成war
  2.项目部署
  无论是用哪种方式生成,最终都是为了进行部署,war可以直接拷到tomcat的webapps目录下,启动Tomcat即可。
页: [1]
查看完整版本: 如何将Spring Boot项目打包部署到外部Tomcat