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

springboot将jar改成war

一、maven项目

1、修改pom文件

<packaging>war</packaging>

2、添加Servlet API依赖,Spring Boot的Starter依赖通常会包含这个依赖,所以你可能已经有了,没有就需要添加

<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version> <!-- 适用于Servlet 3.1规范的版本 --><scope>provided</scope>
</dependency>

3、修改Application类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(MyApplication.class);}
}

4、构建WAR文件:

mvn clean package

这将生成一个WAR文件,通常位于target目录下。

二、Gradle项目

1、修改build.gradle文件:

注释掉Spring Boot插件的引用,因为在WAR打包中不再需要。

// apply plugin: 'org.springframework.boot'

2、添加war插件,以告诉Gradle将项目打包成WAR文件。

apply plugin: 'war'

3、添加Servlet API依赖,Spring Boot的Starter依赖通常会包含这个依赖,所以你可能已经有了,没有就需要添加

dependencies {implementation 'javax.servlet:javax.servlet-api:3.1.0' // 适用于Servlet 3.1规范的版本// 其他依赖...
}

4、修改Application类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {public static void main(String[] args) {SpringApplication.run(MyApplication.class, args);}@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(MyApplication.class);}
}

5、构建WAR文件

./gradlew clean build

这将生成一个WAR文件,通常位于build/libs目录下。

相关文章:

springboot将jar改成war

一、maven项目 1、修改pom文件 <packaging>war</packaging>2、添加Servlet API依赖&#xff0c;Spring Boot的Starter依赖通常会包含这个依赖&#xff0c;所以你可能已经有了&#xff0c;没有就需要添加 <dependency><groupId>javax.servlet</gr…...

从9.10拼多多笔试第四题产生的01背包感悟

文章目录 题面基本的01背包问题本题变式 本文参考&#xff1a; 9.10拼多多笔试ak_牛客网 (nowcoder.com) 拼多多 秋招 2023.09.10 编程题目与题解 (xiaohongshu.com) 题面 拼多多9.10笔试的最后一题&#xff0c;是一道比较好的01背包变式问题&#xff0c;可以学习其解法加深对…...

搭建自己的OCR服务,第一步:选择合适的开源OCR项目

一、OCR是什么&#xff1f; 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;是指对文本资料的图像文件进行分析识别处理&#xff0c;获取文字及版面信息的过程。 亦即将图像中的文字进行识别&#xff0c;并以文本的形式返回。 二、OCR的基本流程 1…...

【C++】VScode配置C/C++语言环境(简洁易懂版)

目录 一、下载VScode&#xff08;装好直接跳第五步&#xff09;二、安装VScode三、VScode设置语言为中文四、VScode切换主题&#xff08;个人爱好&#xff09;五、下载C语言编译器&#xff08;MinGW-W64 GCC&#xff09;六、配置编译器环境变量七、配置VScode八、使用单独窗口…...

【hive】—原有分区表新增加列(alter table xxx add columns (xxx string) cascade;)

项目场景&#xff1a; 需求&#xff1a;需要在之前上线的分区报表中新增加一列。 实现方案&#xff1a; 1、创建分区测试表并插入测试数据 drop table test_1; create table test_1 (id string, score int, name string ) partitioned by (class string) row format delimit…...

verilog学习笔记7——PMOS和NMOS、TTL电路和CMOS电路

文章目录 前言一、PMOS和NMOS1、NMOS2、PMOS3、增强型和耗尽型4、两者面积大小 二、CMOS门电路1、非门2、与非门3、或非门4、线与逻辑5、CMOS传输门6、三态门 三、TTL电路四、TTL电路 VS CMOS电路五、数字电平六、使用CMOS电路实现逻辑函数1、上拉网络 PUN2、下拉网络 PDN3、实…...

Java知识点二

Java知识点二 1、Comparable内部比较器&#xff0c;Comparator外部比较器2、源码结构的区别:1&#xff09;Comparable接口&#xff1a;2&#xff09;Comparator接口&#xff1a; 2、Java反射 1、Comparable内部比较器&#xff0c;Comparator外部比较器 我们一般把Comparable叫…...

基于单片机压力传感器MPX4115检测-报警系统-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器&#xff0c;液晶1602显示&#xff0c;MPX4115检测压力&#xff0c;按键设置报警&#xff0c;LED报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /***************************************…...

Pytorch02 神经网路搭建步骤

文章目录 import numpy as np import torch from PIL.Image import Image from torch.autograd import Variable# 获取数据 def get_data():train_Xnp.asarray([3.3,4.4,5.5,6.71,6.93,4.168,9.779,6.182,7.59,2.167,7.042,10.791,5.313,7.997,5.654,9.27,3.1])train_Ynp.asarr…...

【源码】JavaWeb+Mysql招聘管理系统 课设

简介 用idea和eclipse都可以&#xff0c;数据库是mysql&#xff0c;这是一个Java和mysql做的web系统&#xff0c;用于期末课设作业 cout<<"如果需要的小伙伴可以http://www.codeying.top";可定做课设 线上招聘平台整合了各种就业指导资源&#xff0c;通过了…...

Java中级编程大师班<第一篇:初识数据结构与算法-数组(2)>

数组&#xff08;Array&#xff09; 数组是计算机编程中最基本的数据结构之一。它是一个有序的元素集合&#xff0c;每个元素都可以通过索引进行访问。本文将详细介绍数组的特性、用法和注意事项。 数组的基本特性 数组具有以下基本特性&#xff1a; 有序性&#xff1a; 数…...

杰哥教你面试之一百问系列:java集合

文章目录 1. 什么是Java集合&#xff1f;请简要介绍一下集合框架。2. Java集合框架主要分为哪几种类型&#xff1f;3. 什么是迭代器&#xff08;Iterator&#xff09;&#xff1f;它的作用是什么&#xff1f;4. ArrayList和LinkedList有什么区别&#xff1f;它们何时适用&#…...

【数据结构】树和二叉树概念

1.树概念及结构 树概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&#xff0c;…...

C盘清理教程

C盘清理教程 首先使用space Sniffer 扫一下c盘&#xff0c;然后看一下到底是哪个文件这么大 第二步&#xff0c;创建软链接。 首先将我们需要移动的文件的当前路径拷贝下来&#xff1a;C:\Users\Tom\Desktop\test-link\abc\ghi.txt 然后假设剪切到D盘下&#xff1a;D:\ghi.…...

【实战-05】 flinksql look up join

摘要 look up join 能做什么&#xff1f; 不饶关子直接说答案&#xff0c; look up join 就是 广播。 重要是事情说三遍&#xff0c;广播。flinksql中的look up join 就类似于flinks flink Datastream api中的广播的概念&#xff0c;但是又不完全相同&#xff0c;对于初次访问…...

C++数据结构--红黑树

目录 一、红黑树的概念二、红黑树的性质三、红黑树的节点的定义四、红黑树结构五、红黑树的插入操作参考代码 五、代码汇总 一、红黑树的概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过…...

Linux perf使用思考

目录 一、参考资料&#xff08;建议阅读&#xff09;二、值得思考的几个问题1、perf使用不同的性能事件进行统计有什么区别呢&#xff1f;2、那使用不同的性能事件统计出来的数据&#xff1f;排序是如何决定的&#xff0c;其中的百分比数值在不同的性能事件进行统计时各自的意义…...

自定义路由断言工厂

我们来设定一个场景: 假设我们的应用仅仅让age在(min,max)之间的人来访问。 第1步&#xff1a;在配置文件中,添加一个Age的断言配置 spring: application:name: api-gateway cloud:nacos:discovery:server-addr: 127.0.0.1:8848gateway:discovery:locator:enabled: trueroute…...

Nacos安装及在项目中的使用

目录 概要一、安装 Nacos1、下载 Nacos2、解压3、启动 Nacos 服务器4、自定义Nacos启动脚本5、访问Nacos Web控制台 二、Nacos----服务注册与发现1、添加 Nacos 依赖2、配置 Nacos 服务器地址3、使用 Nacos 注册服务4、启动服务 三、Nacos----配置管理1、创建配置数据2、从 Nac…...

overleaf中latex语法总结

α和bata $\alpha$ $\beta$上标和下标同时使用 $A_{IJ}^{IJ}$\\ %上标^下标_多个使用{}行内公式 \noindent $abc$\\ %行内公式\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[namelimits]{amsmath} %数学公式 \usepackage{amssymb} %数学公式…...

告别混乱!YOLOv8检测结果自动归档:按日期+编号整理图片和标签(附完整Python脚本)

YOLOv8检测结果智能归档系统&#xff1a;打造高效可追溯的计算机视觉工作流 计算机视觉项目管理的痛点与解决方案 在计算机视觉项目的日常开发中&#xff0c;YOLOv8作为当前最先进的实时目标检测框架之一&#xff0c;被广泛应用于从安防监控到工业质检的各个领域。然而&#xf…...

深度解析:Live2D Widget WebSocket实时交互架构实践

深度解析&#xff1a;Live2D Widget WebSocket实时交互架构实践 【免费下载链接】live2d-widget 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platform 项目地址: https://gitcode.com/gh_mirrors/li/live2d-widget 在当今Web应用追求沉浸式体验的浪潮…...

吴恩达Agentic AI教程·模块5:高度自主智能体的模式 知识点总结

吴恩达Agentic AI教程模块5&#xff1a;高度自主智能体的模式 知识点总结一、规划设计模式&#xff08;高度自主智能体的核心模式&#xff09;1.1 规划设计模式的核心定义与价值1.1.1 核心定义1.1.2 核心价值1.2 规划设计模式的基础流程与示例1.2.1 基础流程1.2.2 示例1&#x…...

authentik:破解企业身份治理技术债的架构方案

authentik&#xff1a;破解企业身份治理技术债的架构方案 【免费下载链接】authentik The authentication glue you need. 项目地址: https://gitcode.com/GitHub_Trending/au/authentik 面对日益复杂的身份认证需求&#xff0c;技术决策者常常陷入两难&#xff1a;选择…...

KMS_VL_ALL_AIO:Windows与Office授权管理全场景解决方案

KMS_VL_ALL_AIO&#xff1a;Windows与Office授权管理全场景解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾在重要会议前遭遇Office突然提示"未授权"导致文件无法编辑…...

突破限制:跨平台VMware macOS虚拟机部署全指南——非苹果硬件的macOS体验方案

突破限制&#xff1a;跨平台VMware macOS虚拟机部署全指南——非苹果硬件的macOS体验方案 【免费下载链接】unlocker VMware macOS utilities 项目地址: https://gitcode.com/gh_mirrors/unl/unlocker Unlocker是一款针对VMware Workstation和Player的开源补丁工具&…...

【Unity3D】从零打造动态天空盒:Cubemap生成与实时环境映射实战

1. 动态天空盒的核心原理与场景价值 第一次在Unity里看到动态天空盒效果时&#xff0c;我盯着屏幕愣了三秒——云层在头顶流动&#xff0c;夕阳的光影实时投射在建筑表面&#xff0c;整个场景瞬间有了生命力。这种魔法般的体验&#xff0c;其实都建立在立方体贴图&#xff08;C…...

模型介导钓鱼:AI 助手被诱导生成钓鱼内容的机理与防御

摘要 随着 Microsoft 365 Copilot、Google Gemini for Workspace 等 AI 助手在企业办公场景的深度普及&#xff0c;一类依托提示注入实现的模型介导钓鱼&#xff08;Model-Mediated Phishing&#xff09; 攻击快速兴起。攻击者通过在正常邮件中嵌入低可见性恶意指令&#xff0c…...

保姆级教程:在Windows上用Cherry Studio和Grafana MCP服务打通本地监控数据(STDIO模式详解)

保姆级教程&#xff1a;在Windows上用Cherry Studio和Grafana MCP服务打通本地监控数据&#xff08;STDIO模式详解&#xff09; 你是否曾在调试大模型时&#xff0c;需要反复切换窗口查看服务器监控数据&#xff1f;或是苦恼于无法将Grafana的实时监控直接整合到AI对话流程中&a…...

WeKnora镜像免配置教程:支持知识库版本管理与灰度问答切换机制

WeKnora镜像免配置教程&#xff1a;支持知识库版本管理与灰度问答切换机制 1. 引言&#xff1a;告别AI幻觉&#xff0c;让知识问答精准可控 你有没有遇到过这种情况&#xff1f;你给AI看了一份产品说明书&#xff0c;然后问它一个具体参数&#xff0c;结果它回答得头头是道&a…...