SpringBoot在Intellij Idea中使用gradle打成war包部署到Tomcat

本文介绍了在Intellij Idea中使用Gradle将SpringBoot项目打成War包并部署到Tomcat的方法。包括修改gradle.build文件参数、主类继承SpringBootServletInitializer并重写方法、修改application.yml配置、使用gradle build命令打包,最后将War包部署到Tomcat。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot在Intellij Idea中使用gradle打成war包部署到Tomcat

导语:叶子写了一个SpringBoot在打成war包部署到Tomcat时,老是提示404错误,经过多次检查修正,终于可以运行在tomcat下了。

一、修改gradle.build文件的参数

添加如下配置

apply plugin: ‘war’

修改依赖,将tomcat的依赖范围修改为providedRuntime

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-jdbc'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	
	//mybatis
	implementation('com.baomidou:mybatis-plus-boot-starter:2.2.0')
 
	//mybatis-plus 模板
	implementation('org.apache.velocity:velocity-engine-core:2.0')
	
	//自定义jar包,包含了oracle的数据库的连接
	implementation fileTree(dir:'libs',include:['*.jar'])
	
	
	//将tomcat的依赖范围修改为providedRuntime
	providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
	
	
 
	implementation('org.projectlombok:lombok:1.18.4')
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

二、主类继承SpringBootServletInitializer,重写configure方法

需要将你的主类Application.java改成下面的样子。

package com.cddx.hx;
 
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 
@SpringBootApplication
public class HxApplication extends SpringBootServletInitializer {
 
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(HxApplication.class);
	}
 
	public static void main(String[] args) {
		SpringApplication.run(HxApplication.class, args);
	}
 
}

HxApplication这个类名根据你的实际情况修改。

三、修改src\main\resources\application.yml

增加下面的配置,这个配置不是必须的,但是如果你的tomcat服务器上有多个springboot的项目在运行,如果不修改的话,就只能运行一个。

#spring.jmx.enabled=false 可以在一个tomcat启动多个springboot项目
spring:  
  jmx:
    enabled: false

四、使用gradle build命令打War包

打开Intellij Idea中的View -> Tool Windows -> Terminal ,在此窗口中直接运行命令。
gradle build
运行完成后,在项目的\build\libs目录中就会有一个 项目名称的war包,例如:

hx-0.0.1-SNAPSHOT.war

五、部署到Tomcat

直接将你的war包上传到Tomcat下面的webapps目录中,如果在conf目录下的server.xml中的unpackWARs等于true,那么war会自动解压。

autoDeploy等于true,那么会自动部署。

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值