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

将SpringBoot的Maven项目打成jar包和war包

先需要明确的是,该项目打包的形态是可执行的jar包,还是在tomcat下运行的war包。

springboot自带的maven打包

1.创建一个springboot  web项目

1.api控制层HelloWorld.java

@RestController
@RequestMapping("/hello")
public class HelloWorld {@RequestMapping("/helloworld")public String helloworld(){return "hello world!";}
}

2.主程序类HelloworldMainApplication.java

@SpringBootApplication
public class HelloworldMainApplication extends SpringBootServletInitializer {//springboot项目打包成war包,使用外置的tomcat启动//1、首先需要继承 org.springframework.boot.context.web.SpringBootServletInitializer类//2、然后重写configure(SpringApplicationBuilder builder)方法@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {// 注意这里要指向原先用main方法执行的Application启动类return builder.sources(HelloworldMainApplication.class);}public static void main(String[] args){SpringApplication.run(HelloworldMainApplication.class);}
}

3.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.springbood</groupId><artifactId>SpringBoodTest1</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- <dependency>移除嵌入式tomcat插件<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>--></dependencies><build><finalName>app1</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.11</version></plugin></plugins></build>
</project>

如果是jar包
需在pom.xml指定打成的包为:

<packaging>jar</packaging>

如果是war包。
需在pom.xml指定打成的包为:

<packaging>war</packaging>

并通过标签在打包的时候排除tomcat依赖

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

添加插件

 <build><finalName>app1</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.11</version></plugin></plugins></build>

<finalName>标签是指定打包之后的名称

在pom.xml中添加完相应的标签之后,我们只需在项目同级(pom.xml同级)输入

mvn clean package


即可完成打包
如果想排除测试代码,则可以输入:

mvn clean package  -Dmaven.test.skip=true

来进行打包。

或者使用idea maven进行打包

http://www.lryc.cn/news/460030.html

相关文章:

  • 【Iceberg分析】Spark与Iceberg集成之常用存储过程
  • [旧日谈]关于Qt的刷新事件频率,以及我们在Qt的框架上做实时的绘制操作时我们该关心什么。
  • 云上考场小程序+ssm论文源码调试讲解
  • 城域网——IP城域网、城域以太网、光城域网
  • 华为Eth-trunk链路聚合加入到E-trunk实现跨设备的链路聚合
  • 【网络安全】JSONP劫持原理及攻击实战
  • VR全景摄影的拍摄和编辑软件推荐
  • linux:使用sar诊断问题
  • CUDA编程技巧(不断搜集更新)
  • 云计算(第二阶段):mysql后的shell
  • Debian12离线部署Mysql全网最详细教程
  • 文本生成视频技术:艺术与科学的交汇点
  • 【Windows】【DevOps】Windows Server 2022 采用WinSW将一个控制台应用程序作为服务启动(方便)
  • OpenAI董事会主席Bret Taylor的Agent公司Sierra:专注于赋能下一代企业用户体验
  • 【linux】信号(下)
  • Notepad++ 初学者指南
  • Web Socket 使用详解
  • 【Python Web开发】Python Web开发知识全解析
  • Android开发展开收起功能
  • Sealos Devbox 发布,珍爱生命,远离 CI/CD
  • 数据结构——遍历二叉树
  • 【Ubuntu】在Ubuntu上安装IDEA
  • 解决:gpg: 从公钥服务器接收失败:服务器故障
  • 支持向量机SVM
  • 斯坦福UE4 C++课学习补充25:AI感知组件
  • 大模型 memory 记忆 缓存的应用
  • perl 给特定文件加上特定内容
  • 全面解析网络性能监控系统与网络故障排除技巧,助力IT运维高效管理
  • Centos7 搭建单机elasticsearch
  • 【前端】Bootstrap:JavaScript 组件与插件