gradle 打包springboot war包部署到tomcat

  1. grade 添加war插件

    apply plugin: 'war'

    War插件 添加了两个依赖配置项providedCompileprovidedRuntime,这两个配置项分别和compile和runtime有相同的作用域,只是不将依赖打包到war文件  可以在idea右边的gralde界面中点击Gradle=>项目=>Task=>build=>点击build就可打包成war包,成功的文件夹在 build-> libs下面

  2. 添加依赖

注意:org.springframework.boot:spring-boot-starter-web 内置了tomcat容器,因为要部署到tomcat所以要在打包war的时候将其排除出去,所以使用了providedRuntime

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web:1.5.2.RELEASE")
    providedRuntime 'org.springframework.boot:spring-boot-starter-   tomcat:1.5.2.RELEASE'
}
[grade java plugin](https://docs.gradle.org/current/userguide/java_plugin.html)
[grade war plugin]([grade java plugin](https://docs.gradle.org/current/userguide/java_plugin.html))
  1. 继承 SpringBootServletInitializer类并且重写** configure**方法
package com.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
      return application.sources(Application.class);
  }

  public static void main(String[] args) throws Exception {
      SpringApplication.run(Application.class, args);
  }
}
  1. 打包成war文件

gradle war

执行命令将在工程目录下的build/libs/目录生成war文件 将该文件放到tomcat的webapps目录下启动tomcat 搞定。。。。



作者:就叫初九吧
链接:https://www.jianshu.com/p/08aad96bdf49
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Spring Boot 通常用于创建独立的、生产级别的基于Spring的应用程序,其默认方式是打包成一个可执行的jar。然而,有时候出于特定的生产环境需求,我们需要将Spring Boot应用打包war部署到外部的Tomcat服务器上。以下是一个基本的步骤说明: 1. **排除内置的Tomcat依赖**:在你的pom.xml文件中,需要将Spring Boot的内嵌Tomcat依赖设置为scope为provided,这样在打包的时候就不会将Tomcat打包war内。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> ``` 2. **修改启动类**:让Spring Boot的启动类继承`SpringBootServletInitializer`,并重写`configure`方法,这样做是为了让Spring Boot应用能够在外部的Tomcat容器中正常启动。 ```java @SpringBootApplication public class MyApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(MyApplication.class); } public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } ``` 3. **打包应用**:使用Maven或Gradle命令将应用打包war。对于Maven,通常使用`mvn clean package`命令。 4. **部署war**:将生成的war文件复制到Tomcat的`webapps`目录下。 5. **启动Tomcat**:启动Tomcat服务器,如果一切顺利,你的Spring Boot应用将作为应用上下文被部署Tomcat中,并可以通过配置的端口和路径访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值