SpringBoot项目 jar包方式打包部署

SpringBoot项目 jar包方式打包部署

传统的Web应用进行打包部署,通常会打成war包形式,然后将War包部署到Tomcat等服务器中。

在Spring Boot项目在开发完成后,确实既支持打包成JAR文件也支持打包成WAR文件。然而,官方通常推荐将Spring Boot项目打包成JAR文件,这是因为Spring Boot内置了一个嵌入式的Tomcat服务器,使得应用能够作为一个独立的可执行JAR文件运行,无需部署到外部的Servlet容器中。

虽然Spring Boot也支持打包成WAR文件并部署到外部的Servlet容器中,但这种方式通常不是首选,因为它增加了额外的部署复杂性,并且可能无法充分利用Spring Boot提供的一些自动配置和简化功能。

1、插件完整配置,在pom.xml文件中添加配置

	 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><!-- 配置中的版本号 --><configuration><source>1.8</source><!-- 设置源代码的JDK版本 --><target>1.8</target><!-- 设置目标代码的JDK版本 --><encoding>UTF-8</encoding><!-- 设置编码方式 --></configuration></plugin><!--maven 打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.example.demo.DemoApplication</mainClass><!-- 配置启动类 --><skip>false</skip><!--是否忽略启动类--></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

maven-compiler-plugin是Maven的一个插件,主要用于代码编译,并提供了很多可配置的选项来优化编译过程。主要作用:

  1. 指定JDK版本:可以明确指定项目源代码所使用的JDK版本,以及编译后的类库拟运行的JVM版本,从而确保项目在不同环境中的一致性和稳定性。
  2. 设置编码方式:允许设置源代码和目标代码的编码方式,以防止因编码不一致而导致的编译错误或乱码问题。
  3. 优化编译过程:可以对编译过程进行细粒度的控制。例如,可以设置是否使用增量编译、是否生成调试信息等,以提高编译效率和代码质量。

spring-boot-maven-plugin是一个用于Spring Boot项目的Maven插件,它在项目的构建和打包过程中发挥着关键作用。主要作用:

  1. 打包可执行JAR/WAR文件:该插件可以将Spring Boot应用程序打包成一个可执行的JAR或WAR文件。

  2. 指定执行类:该插件可以指定要执行的类,如果未指定也能够自动检测项目中的main函数,并启动Spring
    Boot容器。

2、使用IDEA开发工具打包

打开maven窗口,在Lifecycle列中,双击package打包项目
在这里插入图片描述

Idea控制台显示打包成功
在这里插入图片描述
Idea项目target目录生成Jar包
在这里插入图片描述

3、Jar 包方式部署

打开jar文件所在目录,然后打开powerShell,执行命令行:

java -jar .\qvtu-web04-0.0.1-SNAPSHOT.jar

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601605.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GEE必须会教程—一文教会你GEE下载影像数据的方法

一、基本流程 A.平台进入&#xff1a;网站搜索&#xff1a;https://developers.google.com/earth-engine&#xff0c;进入Google Earth Engine 官网平台&#xff08;以下简称GEE平台&#xff09;&#xff0c;正常登录该平台需要利用邮箱进行申请&#xff0c;申请通过后可以正常…

C++ //练习 11.22 给定一个map<string, vector<int>>,对此容器的插入一个元素的insert版本,写出其参数类型和返回类型。

C Primer&#xff08;第5版&#xff09; 练习 11.22 练习 11.22 给定一个map<string, vector<int>>&#xff0c;对此容器的插入一个元素的insert版本&#xff0c;写出其参数类型和返回类型。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具…

STM32一个地址未对齐引起的 HardFault 异常

1. 概述 客户在使用 STM32G070 的时候&#xff0c;KEIL MDK 为编译工具&#xff0c;当编译优化选项设置为Level0 的时候&#xff0c;程序会出现 Hard Fault 异常&#xff0c;而当编译优化选项设置为 Level1 的时候&#xff0c;则程序运行正常。表面上看&#xff0c;这似乎是 K…

【Linux】软硬链接 / 动静态库

目录 一. 软硬链接1. 硬链接2. 软链接3. unlink4. 目录的硬链接 二. 动静态库1.1 静态库制作1.2 静态库使用2.1 动态库制作2.2 动态库使用3. 动态链接原理 一. 软硬链接 1. 硬链接 硬链接(hard link) 可以将它理解为原始文件的别名, 和原始文件使用相同的 inode 编号和 data …

LangChain - OpenGPTs

文章目录 MessageGraph 消息图认知架构AssistantsRAGChatBot 持久化配置新模型新工具astream_events总结 关键链接&#xff1a; OpenGPT GitHub 存储库YouTube 上的 OpenGPT 演练LangGraph&#xff1a;Python、JS 两个多月前&#xff0c;在 OpenAI 开发日之后&#xff0c;我们…

LwIP TCP/IP

LWIP 架构 LwIP 符合 TCP/IP 模型架构&#xff0c;规定了数据的格式、传输、路由和接收&#xff0c;以实现端到端的通信。 此模型包括四个抽象层&#xff0c;用于根据涉及的网络范围&#xff0c;对所有相关协议排序&#xff08;参见图 2&#xff09;。这几层从低到高依次为&am…

2024.4.8-day12-CSS 常用样式属性和字体图标

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 作业2024.4.8-学习笔记盒子阴影文本阴影透明的vertical-align字体使用 作业 &…

Java数组详解

​TOC 第一章、数组的概念介绍 1.1&#xff09;数组的概念 ①数组就是用来储存数据的容器,可以存储同一种类型的数据&#xff0c;是同一种数据类型的集合。实现对这些数据的统一管理。如果数组中存储的是基本类型数据&#xff0c;我就不能往里面存引用类型数据。数组中存储的…

FutureMatrix S5735S-L48T4X-A1交换机配置SSH登录

目录 1. FutureMatrix 交换机1.1 查看版本1.2 配置前1.3 配置VTY用户界面的支持协议类型、认证方式和用户级别。1.4 开启STelnet服务器功能。1.5 配置SSH用户认证方式为Password1.6 配置后 1. FutureMatrix 交换机 1.1 查看版本 <SW3>display version FutureMatrix …

10分钟上手:MySQL8的Json格式字段使用总结干货

一、关于效率和适用范围 尽管官方承诺Json格式字段采用了空间换时间的策略&#xff0c;比Text类型来存储Json有大幅度的效率提升。但是Json格式的处理过程仍然效率不及传统关系表&#xff0c;所以什么时候用Json格式字段尤为重要。 只有我们确定系统已经能精确定位到某一行&am…

【完全背包求方案数问题】AcWing1023.买书(赋练习题目)

【题目链接】活动 - AcWing 输入样例1&#xff1a; 20输出样例1&#xff1a; 2输入样例2&#xff1a; 15输出样例2&#xff1a; 0输入样例3&#xff1a; 0输出样例3&#xff1a; 1 【代码】 //1023.买书——完全背包问题#include<bits/stdc.h>using namespace st…

一起学习HarmonyOS应用开发——基础篇(4)

前言&#xff0c;上一篇说了应用工程的目录结构&#xff0c;今天不讲ArkTS语言&#xff08;HarmonyOS优先的主力应用开发语言&#xff09;的语法&#xff0c;先说一下组件的事情。比如基础组件、容器组件、媒体组件、绘制组件、画布组件。今天就简单的学习一下常用的组件怎么玩…