当前位置: 首页 > news >正文

Springboot项目打包成war包

1、首先创建一个springboot工程,然后我们改造启动类如:

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 AuroraWarApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(AuroraWarApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(AuroraWarApplication.class, args);
    }

}

2、application.yml中不再需要配置上下文端口这些,简单配置个应用名

spring:
  application:
    name: aurora-war

3、修改pom文件

首先设置当前包打包为war

<artifactId>aurora-war</artifactId>
<name>aurora-war</name>
<description>Spring Boot to war</description>
<packaging>war</packaging>

其次修改对tomcat依赖的使用

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-tomcat</artifactId>
	<scope>provided</scope>
</dependency>
<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<scope>provided</scope>
</dependency>
<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-el</artifactId>
	<scope>provided</scope>
</dependency>

最后修改<build>标签内容添加maven-war-plugin

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<version>3.1.0</version>
			<configuration>
				<failOnMissingWebXml>false</failOnMissingWebXml>
				<warName>aurora-war</warName>
			</configuration>
		</plugin>
	</plugins>
</build>

4、使用idea简单测试下

先编写一个controller

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class IndexController {

    @GetMapping("/index")
    public String index(){
        return "index";
    }
}

idea中配置好本地tomcat路径和端口信息

配置需要部署的war包和上下文

启动本地tomcat访问controller

相关文章:

  • 西门子PLC
  • Freeze-Omni:冻结 LLM,实现语音对话
  • 半导体过程控制篇6 设计质量控制SPC
  • ​第十一届传感云和边缘计算系统国际会议
  • python中测试数据管理整理
  • Spring Cloud之负载均衡之LoadBalance
  • 汇川EASY系列之以太网通讯(MODBUS_TCP做主站)
  • 【工具变量】人口老龄化对经济增长影响数据集(2005-2023年)
  • Python列表1
  • 3.19学习总结
  • 【MySQL基础-10】MySQL中的LENGTH()函数:用法详解与实例分析
  • C语言中,memmove和memcpy的区别?
  • Linux 文件操作-标准IO函数3- fread读取、fwrite写入、 fprintf向文件写入格式化数据、fscanf逐行读取格式化数据的验证
  • 【C#语言】C#中的同步与异步编程:原理、示例与最佳实践
  • 邮件群发:如何避免被标记为垃圾邮件
  • 8.3《摩擦力》
  • 使用gensim的word2vec训练自己的词向量模型
  • 视频对讲系统中,强插和强拆;视频分发功能
  • k8s的存储
  • `docker-compose`是什么,怎么使用
  • 全球最大汽车板供应商宝钢股份:汽车工业加速转型中材料商如何共舞?
  • 解放日报:抢占科技制高点,赋能新质生产力
  • 近七成科创板公司2024年营收增长,285家营收创历史新高
  • 网商银行2024年年报发布,客户资产管理规模超过1万亿
  • 两部门调度部署“五一”假期安全防范工作,要求抓好旅游安全
  • 海口市政协党组成员、秘书长、机关党组书记汪娟被查