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

SpringBoot】Spring Boot 项目的打包配置

Spring Boot 项目的打包配置

修改 pom.xml 文件

在 Spring Boot 项目中,打包方式通常通过 Maven 或 Gradle 配置。以下是 Maven 的配置示例:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.0.0</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>

确保 packaging 标签设置为 jarwar,默认为 jar

<packaging>jar</packaging>

构建可执行 JAR

运行以下 Maven 命令生成可执行的 JAR 文件:

mvn clean package

生成的 JAR 文件默认位于 target 目录下,文件名为 {artifactId}-{version}.jar

构建 WAR 部署包

如需构建 WAR 文件,需修改 pom.xml

<packaging>war</packaging>

同时确保主类继承 SpringBootServletInitializer

@SpringBootApplication
public class Application extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Application.class);}public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}

运行打包命令后,WAR 文件同样位于 target 目录。

排除依赖项

如需排除某些依赖项(如 Tomcat,以支持外部容器),可在 pom.xml 中添加:

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

自定义打包名称

pom.xmlbuild 部分可指定输出文件名:

<finalName>custom-name</finalName>

多环境打包配置

结合 profiles 实现不同环境配置:

<profiles><profile><id>dev</id><properties><activatedProperties>dev</activatedProperties></properties></profile><profile><id>prod</id><properties><activatedProperties>prod</activatedProperties></properties></profile>
</profiles>

打包时通过 -P 参数指定环境:

mvn package -Pprod

使用 Gradle 打包

若使用 Gradle,在 build.gradle 中配置:

plugins {id 'org.springframework.boot' version '3.0.0'id 'io.spring.dependency-management' version '1.1.0'
}jar {archiveFileName = 'custom-name.jar'
}bootJar {mainClass = 'com.example.Application'
}

运行以下命令生成 JAR:

gradle bootJar

WAR 打包需应用 war 插件并配置:

apply plugin: 'war'war {archiveFileName = 'custom-name.war'
}

打包时包含依赖项

确保构建工具(Maven/Gradle)已正确配置依赖管理,默认情况下 Spring Boot 插件会自动处理依赖项的打包。

通过以上配置,可根据需求生成适合部署的 JAR 或 WAR 文件。

http://www.dtcms.com/a/553407.html

相关文章:

  • 递归专题5 - FloodFill算法专题
  • 系统架构设计师论文-论软件架构的复用
  • 沙市做网站weiswordwordpress微信登录设置
  • 理解MySQL的原理
  • Mac通过命令行开启ssh服务
  • 哈尔滨有哪些做网站的公司站长工具seo综合查询问题
  • 珠海做网站的wordpress 写作
  • 【计算机基础】之核心架构
  • 临西网站建设公司公司核名查询官网
  • PPIO独家上新GPU实例模板,一键部署Kimi-Linear
  • 工业级电池健康管理利器:GRX-3000 系列电池诊断站技术解析
  • 旅游网站建设功能意义wordpress 模板 免费
  • 周口市住房和城市建设局网站自做网站打开速度慢
  • STM32H743-ARM例程35-DHCP
  • 概率论直觉(一):大数定律
  • 数据结构—栈和队列
  • JavaSE知识分享——继承(下)
  • Linux性能分析:常用工具与指令
  • 软件测试面试的排序算法问题如何回答
  • Verilog和FPGA的自学笔记8——按键消抖与模块化设计
  • 深入解析 display: flow-root:现代CSS布局的隐藏利器
  • 汕头网站制作方法购物网站价格
  • 电商网站建设精准扶贫的目的建筑施工特种证书查询入口官网
  • spring-ai advisors 使用与源码分析
  • 关键词解释:点积(Dot Product)在深度学习中的意义
  • 本地部署DeepSeek-OCR:打造高效的PDF文字识别服务
  • 机器视觉系统中工业相机的常用术语解读
  • 【论文精读】GenRec:基于扩散模型统一视频生成与识别任务
  • seo提高网站排名wordpress内容页不显示
  • Velero(原名Heptio Ark) 是一个专为 Kubernetes 设计的开源备份恢复工具