Spring Boot 项目打包成 JAR 并部署运行(实战完整版)

Spring Boot 部署打包成 jar 和 war 有什么不同? 首先给大家来讲一个我们遇到的一个奇怪的问题:我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了。 阅读详情

Spring Boot 项目打包成 JAR 并部署运行(实战完整版)

在Spring Boot项目开发完成后(如前文实现的用户管理CRUD项目),下一步就是「打包部署」——将项目打包成可执行JAR包,部署到服务器(或本地)运行,脱离开发工具(IDEA)的依赖,实现项目独立运行。

本文基于前文实战项目(Spring Boot 2.7.x + MyBatis-Plus + 统一返回 + 全局异常 + Swagger),手把手讲解「打包配置→打包操作→本地部署→服务器部署」全流程,重点说明打包注意事项、常见报错排查,以及部署后的验证方法,贴合新手实战,避免踩坑。

核心说明:Spring Boot 内置了 Tomcat 容器(spring-boot-starter-web 依赖已包含),因此打包成 JAR 包后,无需额外部署 Tomcat,可直接通过命令启动运行,简化部署流程(这也是Spring Boot 部署便捷性的核心优势)。

一、打包前准备(关键,避免打包失败)

打包前需完成3项准备工作,确保打包后能正常运行,尤其适配前文包含Swagger、数据库连接、全局异常的项目,避免因配置缺失导致部署失败。

1. 核对项目配置(核心避坑)

重点核对 application.yml(或 application.properties)配置,避免因开发环境配置导致部署后无法运行:

server:
  port: 8081  # 部署后项目端口,确保服务器该端口未被占用
  servlet:
    context-path: /crud-demo  # 项目上下文路径,部署后访问路径需包含(无则省略)

# 数据库配置(部署到服务器时,需改为服务器数据库地址,本地部署可保持不变)
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false
    username: root  # 数据库用户名(服务器部署需改为服务器数据库用户名)
    password: 123456  # 数据库密码(服务器部署需改为服务器数据库密码)
  # 404异常捕获配置(前文添加,保持不变)
  mvc:
    throw-exception-if-no-handler-found: true
  web:
    resources:
      add-mappings: false

# MyBatis-Plus 配置(保持不变)
mybatis-plus:
  mapper-locations: classpath:mapper/**/*.xml  # 若有XML映射文件,确保路径正确
  type-aliases-package: com.example.cruddemo.entity
  configuration:
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  # 日志配置,部署后可关闭(减少日志冗余)

# Swagger 配置(可选,生产环境建议关闭,避免暴露接口)
knife4j:
  production: false  # true=关闭Swagger,false=开启(开发/测试环境开启,生产环境关闭)

关键提醒:

  • 数据库配置:本地部署可保持 localhost,服务器部署需改为「服务器IP地址」(如 jdbc:mysql://192.168.1.100:3306/test_db),同时确保服务器数据库已创建对应数据库(test_db)、用户名密码正确,且数据库允许外部访问;

  • 端口配置:确保部署环境(本地/服务器)的 8081 端口未被其他程序占用,若占用可修改 port 配置(如 8080、8888);

  • Swagger 开关:生产环境部署时,将 knife4j.production 改为 true,关闭Swagger文档,提升系统安全性。

2. 核对 pom.xml 打包配置(必做)

Spring Boot 项目打包成 JAR 包,核心依赖是 spring-boot-maven-plugin,前文项目已引入(若未引入,需手动添加),确保配置正确,否则无法打包成可执行JAR。

<!-- pom.xml 核心配置,确保存在 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.10</version>  # 与前文项目版本一致,避免兼容性问题
    <relativePath/>
</parent>

<!-- 打包类型:JAR 包(默认就是jar,可省略,但建议显式指定) -->
<packaging>jar</packaging>

<!-- 可执行JAR打包插件(核心,必须添加) -->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.10</version>  # 与Spring Boot版本一致
            <configuration>
                <mainClass>com.example.cruddemo.CrudDemoApplication</mainClass>  # 启动类全路径(关键!)
                <fork>true</fork>  # 允许独立运行,避免依赖开发环境
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>  # 重打包,生成可执行JAR
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

    <!-- 可选:指定打包后的JAR包名称(默认是 项目名-版本号.jar,如 crud-demo-0.0.1-SNAPSHOT.jar) -->
    <finalName>crud-demo</finalName>
</build>

关键提醒:

  • mainClass 配置:必须是项目启动类的全路径(如 com.example.cruddemo.CrudDemoApplication),否则打包后的JAR包无法启动(报错“找不到主类”);

  • 版本一致性:spring-boot-maven-plugin 的版本必须与 Spring Boot 父依赖版本一致,避免兼容性问题;

  • finalName 配置:可选,指定后打包后的JAR包名称为 crud-demo.jar(简洁易记),默认名称包含版本号,不影响使用。

3. 清理项目编译文件(可选,避免缓存影响)

若项目之前编译过,可能存在缓存文件,导致打包失败或打包后运行异常,可在IDEA中清理:

  1. 点击IDEA顶部「Build」→ 选择「Clean Project」,清理编译后的class文件;

  2. 点击「Build」→ 选择「Rebuild Project」,重新编译项目,确保无编译报错。

确认:项目无红色报错,启动类能正常启动(本地运行无问题),再进行打包操作。

二、两种打包方式(IDEA可视化 + Maven命令,任选其一)

Spring Boot 项目打包JAR有两种常用方式,适配不同场景:IDEA可视化操作适合新手(简单直观),Maven命令适合无IDEA环境(如服务器打包),两种方式最终效果一致。

方式1:IDEA可视化打包(新手首选)

步骤简单,无需记忆命令,全程鼠标操作,贴合前文项目的开发环境:

  1. 打开IDEA,找到右侧「Maven」工具栏(若未显示,点击顶部「View」→「Tool Windows」→「Maven」调出);

  2. 在Maven工具栏中,展开项目「crud-demo」→「Lifecycle」;

  3. 先点击「clean」:清理之前的打包文件(若有),控制台显示「BUILD SUCCESS」即为清理成功;

  4. 再点击「package」:开始打包,控制台会打印打包日志,等待1-3分钟(根据项目大小);

  5. 打包成功标志:控制台显示「BUILD SUCCESS」,同时项目根目录下会生成「target」文件夹;

  6. 找到JAR包:打开target文件夹,即可看到打包后的JAR包(如 crud-demo.jar,若未配置finalName,则为 crud-demo-0.0.1-SNAPSHOT.jar)。

补充:若点击package时报错,优先查看控制台报错信息(如“找不到主类”“依赖缺失”“编译报错”),对照前文准备工作排查(重点核对mainClass配置、项目无编译报错)。

方式2:Maven命令打包(通用,无IDEA也能使用)

适合无IDEA环境(如服务器部署时直接打包),或习惯使用命令行的开发者,步骤:

  1. 打开项目根目录(找到 pom.xml 文件所在的目录,前文项目根目录为 crud-demo);

  2. 打开命令行(Windows:CMD/PowerShell;Mac/Linux:终端),切换到项目根目录(命令:cd 项目路径,如 cd D:\idea-projects\crud-demo);

  3. 执行清理命令:mvn clean,等待执行完成(显示 BUILD SUCCESS);

  4. 执行打包命令:mvn package,命令执行过程中会自动下载缺失的依赖(确保网络通畅);

  5. 打包成功后,同样在 target 文件夹中找到JAR包,与方式1效果一致。

常用命令补充:

  • mvn clean package -DskipTests:打包时跳过单元测试(若项目有测试用例报错,可使用该命令,避免测试报错影响打包);

  • mvn clean install:打包并将JAR包安装到本地Maven仓库(用于多模块项目依赖),前文单模块项目无需使用。

打包后验证(可选,提前规避部署失败)

打包完成后,可先在本地验证JAR包是否能正常启动,避免部署到服务器后才发现问题:

  1. 复制 target 文件夹中的 JAR 包(如 crud-demo.jar),粘贴到任意目录(如桌面,便于操作);

  2. 打开命令行,切换到JAR包所在目录(如 cd C:\Users\XXX\Desktop);

  3. 执行启动命令:java -jar crud-demo.jar;

  4. 验证启动成功:控制台打印Spring Boot启动日志,无报错,且显示「Started CrudDemoApplication in XX seconds」。

若本地启动成功,说明JAR包无问题,可放心部署到服务器;若启动失败,优先排查配置文件(如数据库连接、端口占用)。

三、部署运行(本地部署 + 服务器部署,实战落地)

部署分为「本地部署」(用于测试JAR包)和「服务器部署」(正式运行),两者核心命令一致,重点讲解服务器部署的细节和避坑点,适配前文实战项目的接口访问。

场景1:本地部署(测试用,简单)

本地部署即直接运行打包后的JAR包,脱离IDEA,步骤与「打包后验证」一致,补充两个实用操作:

1. 普通启动(控制台关闭则项目停止)

命令:java -jar crud-demo.jar

适用场景:临时测试,启动后控制台不能关闭,关闭控制台则项目停止运行。

2. 后台启动(Windows,控制台关闭不影响)

Windows环境下,可通过命令让项目在后台运行,关闭控制台后项目继续运行:

:: 方式1:生成日志文件(推荐,便于排查问题)
java -jar crud-demo.jar > crud-demo.log 2>&1 &

:: 方式2:不生成日志文件
start javaw -jar crud-demo.jar

说明:

  • 方式1:会在JAR包所在目录生成 crud-demo.log 文件,项目运行日志、报错信息都会写入该文件,便于排查问题;

  • 停止项目:打开任务管理器,找到「javaw.exe」进程,结束进程即可。

3. 本地部署验证接口

项目启动成功后,通过浏览器/Swagger/Postman验证接口(与IDEA中一致):

  • Swagger文档(开启状态):http://localhost:8081/crud-demo/doc.html;

  • 查询所有用户接口:http://localhost:8081/crud-demo/api/user/list;

  • 若能正常访问接口、返回统一格式结果,说明本地部署成功。

场景2:服务器部署(正式运行,重点)

服务器部署是项目上线的核心操作,本文以「Linux服务器」为例(最常用),步骤清晰,贴合新手,同时适配前文项目的数据库、接口配置。

前置条件(服务器需准备)
  1. 服务器环境:Linux(CentOS 7/8 或 Ubuntu,本文以CentOS 7为例);

  2. 安装JDK:Spring Boot 2.7.x 需 JDK 8 及以上版本(与开发环境JDK版本一致,避免兼容性问题);

  3. 安装MySQL:服务器需安装MySQL(与前文项目数据库版本一致,如MySQL 8.0),并创建对应数据库(test_db)、导入表结构(前文user表);

  4. 开放端口:服务器防火墙开放项目端口(8081)和数据库端口(3306),避免端口被拦截。

补充:JDK、MySQL安装步骤(简化):

  • JDK安装:yum install java-1.8.0-openjdk-devel,安装完成后执行 java -version 验证;

  • MySQL安装:参考MySQL官方文档,安装后启动MySQL服务,创建test_db数据库,授权用户(允许外部访问);

  • 开放端口(CentOS 7):
    `# 开放8081端口
    firewall-cmd --zone=public --add-port=8081/tcp --permanent

开放3306端口(数据库)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重新加载防火墙配置

firewall-cmd --reload`

服务器部署步骤(全程命令行)
  1. 上传JAR包到服务器:

    • 方式1:使用Xshell + Xftp(推荐),连接服务器后,通过Xftp将本地的 crud-demo.jar 上传到服务器指定目录(如 /usr/local/springboot ,需提前创建目录:mkdir -p /usr/local/springboot);

    • 方式2:使用scp命令上传(Windows/Mac终端):scp 本地JAR路径 root@服务器IP:/usr/local/springboot(如 scp C:\Users\XXX\Desktop\crud-demo.jar root@192.168.1.100:/usr/local/springboot)。

  2. 连接服务器,切换到JAR包所在目录:
    ssh root@服务器IP # 连接服务器(输入密码) cd /usr/local/springboot # 切换到JAR包所在目录

  3. 修改JAR包权限(避免无法执行):
    chmod 755 crud-demo.jar # 赋予执行权限(755为通用权限,可执行、可读)

  4. 启动项目(Linux后台启动,推荐两种方式):
    方式1:简单后台启动(适合临时测试)nohup java -jar crud-demo.jar > crud-demo.log 2>&1 &
    说明:方式2:编写启动脚本(适合正式部署,便于管理)创建启动脚本(start.sh),可快速启动、停止项目,步骤:`# 1. 创建启动脚本
    vi start.sh

2. 写入以下内容(复制粘贴,修改JAR包名称和日志路径)

#!/bin/bash

项目JAR包名称

JAR_NAME=crud-demo.jar

日志文件名称

LOG_NAME=crud-demo.log

停止之前运行的项目(避免端口占用)

pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲') if [ -n "pid" ]; then
kill -9 pidecho"已停止之前运行的项目,PID:pid echo "已停止之前运行的项目,PID:pidecho"已停止之前运行的项目,PID:pid"
fi

后台启动项目,输出日志到指定文件

nohup java -jar $JAR_NAME > $LOG_NAME 2>&1 &

输出启动信息

echo “项目启动中…”
sleep 3
pid=$(ps -ef | grep $JAR_NAME | grep -v grep | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲') if [ -n "pid" ]; then
echo “项目启动成功,PID:pid,日志路径:pid,日志路径:pid,日志路径:(pwd)/LOGNAME"elseecho"项目启动失败,请查看日志:LOG_NAME" else echo "项目启动失败,请查看日志:LOGN​AME"elseecho"项目启动失败,请查看日志:(pwd)/$LOG_NAME”
fi

3. 保存并退出vi编辑器(按Esc,输入:wq,回车)

4. 赋予脚本执行权限

chmod 755 start.sh

5. 启动项目

./start.sh`

- nohup:表示后台启动,关闭终端(Xshell)后项目继续运行;

- crud-demo.log:日志文件,项目运行日志、报错信息都会写入,便于排查问题;

- 执行命令后,会返回一个进程ID(PID),如 [1] 12345,记录PID便于后续停止项目。
  1. 验证项目启动成功:
    `# 方式1:查看进程(确认项目是否在运行)
    ps -ef | grep crud-demo.jar

方式2:查看日志(确认无报错)

tail -f crud-demo.log # 实时查看日志,按Ctrl+C退出

方式3:访问接口(验证功能)

curl http://localhost:8081/crud-demo/api/user/list # 访问查询所有用户接口`启动成功标志:进程存在、日志无报错、curl命令能返回统一格式的JSON结果(即使无数据,返回{“code”:200,“msg”:“操作成功”,“data”:[]}也属于正常)。

  1. 外部访问验证(关键):
    在本地浏览器/Postman中,通过「服务器IP+端口+上下文路径」访问接口,如:http://192.168.1.100:8081/crud-demo/api/user/list若能正常访问,说明服务器部署成功;若无法访问,优先排查服务器防火墙端口是否开放、项目端口是否被占用、数据库连接是否正确。
服务器部署常用操作(必记)
  • 停止项目:
    `# 方式1:通过PID停止(已知PID)
    kill -9 12345(12345为项目PID)

方式2:通过JAR包名称停止(通用)

pid=$(ps -ef | grep crud-demo.jar | grep -v grep | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲') if [ -n "pid" ]; then
kill -9 $pid
echo “项目已停止”
else
echo “项目未在运行”
fi`

  • 重启项目:
    `# 方式1:停止后重新启动
    kill -9 12345
    nohup java -jar crud-demo.jar > crud-demo.log 2>&1 &

方式2:使用启动脚本(推荐)

./start.sh # 脚本会自动停止之前的进程,再重启`

  • 查看日志(排查问题):
    tail -f crud-demo.log # 实时查看日志(最新10行) cat crud-demo.log # 查看全部日志 grep "ERROR" crud-demo.log # 筛选报错信息(快速排查问题)

四、常见报错排查(新手必看,规避90%部署问题)

打包/部署过程中,新手容易遇到各种报错,以下整理高频报错及解决方案,结合前文项目场景,快速排查:

报错1:打包时报错「Could not find or load main class XXX」(找不到主类)

✅ 报错原因:pom.xml 中 spring-boot-maven-plugin 的 mainClass 配置错误(路径写错、启动类名称错误),或未配置mainClass。

✅ 解决方案:核对 mainClass 配置,确保是启动类的全路径(如 com.example.cruddemo.CrudDemoApplication),与项目启动类路径完全一致。

报错2:启动JAR包时报错「Port 8081 was already in use」(端口被占用)

✅ 报错原因:部署环境(本地/服务器)的 8081 端口已被其他程序占用。

✅ 解决方案:
方案1:关闭占用端口的程序(Linux:netstat -tulnp | grep 8081 查看占用进程,再 kill -9 PID 停止);方案2:修改项目端口(修改 application.yml 的 server.port 配置,如改为 8080,重新打包部署)。

报错3:启动后访问接口,报错「数据库连接失败」(Access denied for user ‘root’@‘localhost’)

✅ 报错原因:application.yml 中数据库配置错误(用户名/密码错误、数据库地址错误、数据库未创建),或服务器数据库不允许外部访问。

✅ 解决方案:
核对数据库用户名、密码,确保正确;服务器部署:将数据库 url 改为服务器IP(如 jdbc:mysql://192.168.1.100:3306/test_db);确认服务器数据库已创建 test_db 数据库,且 user 表已导入;授权数据库用户:grant all privileges on test_db.* to 'root'@'%' identified by '123456';(允许root用户从任意IP访问test_db数据库)。

报错4:服务器部署后,本地无法访问接口(curl服务器本地能访问,外部不行)

✅ 报错原因:服务器防火墙未开放项目端口(8081),或服务器开启了安全组(如阿里云、腾讯云服务器),未开放对应端口。

✅ 解决方案:
CentOS 7 开放端口:firewall-cmd --zone=public --add-port=8081/tcp --permanent,再 firewall-cmd --reload;云服务器(阿里云/腾讯云):登录控制台,找到「安全组」,添加 inbound 规则,开放 8081 端口(允许所有IP访问,或指定本地IP)。

报错5:启动JAR包时报错「No qualifying bean of type ‘XXXMapper’ available」(Mapper注入失败)

✅ 报错原因:打包时未将 Mapper 接口扫描到,或启动类未添加 @MapperScan 注解(前文项目已添加,可能打包时缓存导致)。

✅ 解决方案:
确认启动类添加了 @MapperScan(“com.example.cruddemo.mapper”) 注解;重新执行 mvn clean package 打包(清理缓存),再重新部署。

报错6:启动后访问Swagger文档,报404(本地能访问,服务器不能访问)

✅ 报错原因:1. 服务器部署时,Swagger 被关闭(knife4j.production=true);2. 上下文路径配置错误,访问路径写错。

✅ 解决方案:
测试环境:将 knife4j.production 改为 false,重新打包部署;确认访问路径:http://服务器IP:8081/crud-demo/doc.html(包含上下文路径 /crud-demo)。

五、部署优化建议(贴合企业实战)

  1. 日志管理:正式部署时,不要将日志写入JAR包所在目录,建议配置日志输出到专门的日志目录(如 /var/log/springboot),并定期清理日志(避免日志文件过大);

  2. 配置文件分离:将 application.yml 配置文件从JAR包中分离出来,单独放在服务器目录(如 /usr/local/springboot/config),修改配置时无需重新打包,直接修改配置文件并重启项目即可(需修改启动命令:java -jar crud-demo.jar --spring.config.location=/usr/local/springboot/config/application.yml);

  3. 开机自启:正式部署时,配置项目开机自启(避免服务器重启后项目停止),可通过编写systemd服务实现;

  4. 生产环境优化:关闭Swagger、关闭SQL日志(log-impl配置注释),减少系统资源占用;使用JDK优化参数启动(如 nohup java -Xms512m -Xmx1024m -jar crud-demo.jar > crud-demo.log 2>&1 &,设置JVM内存);

  5. 备份策略:定期备份JAR包、配置文件和数据库,避免项目故障导致数据丢失。

六、总结

本文基于前文实战项目(Spring Boot + MyBatis-Plus + 统一返回 + 全局异常 + Swagger),完整实现了「打包配置→打包操作→本地部署→服务器部署」全流程,核心要点总结:

  • 打包核心:确保 pom.xml 中 spring-boot-maven-plugin 配置正确(重点是 mainClass),项目无编译报错,配置文件(数据库、端口)适配部署环境;

  • 打包方式:IDEA可视化操作适合新手,Maven命令适合无IDEA环境,两种方式均可,打包后优先本地验证JAR包;

  • 部署核心:本地部署适合测试,服务器部署重点关注JDK、MySQL、防火墙配置,后台启动项目并验证外部访问;

  • 避坑关键:遇到报错优先查看日志,重点排查主类配置、端口占用、数据库连接、防火墙端口开放,结合前文项目场景快速定位问题。

通过本文的步骤,你可以将前文开发的用户管理CRUD项目,成功打包成JAR包并部署到服务器独立运行,完成从「开发」到「部署」的全流程落地。后续可根据项目需求,扩展部署优化(如配置分离、开机自启、集群部署),贴合企业实际开发规范。

【SpringBoot】Spring Boot 项目的打包配置 Spring Boot 基础项目:适合构建独立应用,打包成 JAR 包,包含所有依赖,配置 spring-boot-maven-plugin。Spring Boot + HTML 项目:适用于前端静态资源服务,静态文件(如 HTML、CSS、JS)放在 src/main/resources/static 中,打包为 JAR 包。Spring Boot + Web 项目:适用于需要 Web 层的应用,可以选择内嵌 Web 容器或部署到外部容器,打包为 JAR 或 WAR 包。 阅读详情

相关推荐

Spring Boot项目打包为jar包并部署为服务的详细流程(亲测有效)

这里写目录标题一、导出为jar包二、在命令行启动三、注册成windows服务 一、导出为jar包 首先打开项目右边的Maven工具栏,然后双击package。 2. 然后会得到类似这样的一个输出信息,框中地址即为生成的jar包的路径。 二、在命令行启动 如果不注册成windows服务,可以在命令行用如下命令启动服务。 java -jar wuhou-0.0.1-SNAPSHOT.jar 启动成功界面如下: 弊端 : 必须得一直开着cmd黑框,而且非常不稳定,容易卡死和自动断开。所以推荐注册成服

qq_34922085的博客 1679

windows10系统下替换、修改jar中的文件并重新打包成jar文件然后运行

maven打包部署之后发现页面上内容显示不正确,究其原因发现是打包之后activiti内某些文件内容错误所致,故想到临时解决方案:先打包完,再修改jar中的activiti文件,再重新打包。替换BOOT-INF\classes\static下的activiti文件夹。

YLXCA的博客 747

Spring Boot应用部署到外部Tomcat容器实战

Spring Boot是一种约定优于配置的Java框架,旨在简化新Spring应用的初始搭建以及开发过程。其最大的优势在于快速开发和独立运行。由于集成了大量的Starter POMs,Spring Boot能够自动配置项目中常用的模块,从而让开发者专注于业务逻辑的开发。

weixin_42527589的博客 1276

如何将springboot项目的jar包转成exe应用?同时可以免安装JDK的情况下直接在windows系統电脑上运行

本文详细介绍了如何将SpringBoot项目打包成Windows系统可执行的EXE文件,并在无需安装JDK的情况下直接运行。主要内容包括: 项目打包:使用Maven将SpringBoot项目打包为JAR文件 环境准备:复制项目使用的JRE到指定目录 工具使用: 下载并激活exe4j工具(提供注册码) 配置exe4j将JAR转换为EXE 安装包制作: 使用Inno Setup工具 将JRE和EXE文件打包成单一安装包 最终生成一个完整的安装程序,用户只需双击安装即可使用,无需额外配置Java环境。

qq_43436985的博客 1698

手把手教你用Multisim 14.2仿真一个4.4V的LDO电路(附完整仿真文件)

本文详细介绍了如何使用Multisim 14.2仿真一个4.4V的LDO电路,从环境配置、核心参数解析到电路搭建和仿真调试。通过分压电阻精确计算和瞬态响应测试,帮助读者掌握LDO电路的设计与验证技巧,并附有完整仿真文件供参考。

weixin_28738397的博客 274

S4-FPGA-K7板级原理图硬件实战

xilinx K7板级硬件实战

weixin_66510961的博客 6148

Spring Boot项目打包和运行

执行打包操作后,会在控制台中输出打包的结果,如果打包成功会在项目的target 文件夹下创建项目对应的可执行JAR包,如图所示。至此,将项目打包为WAR包的准备工作已经完成,下面参照之前使用Maven工具栏中的命令打包项目的过程,将项目进行打包,打包后的结果如图所示。的依赖只需在编译和测试阶段使用,所以使用****标签将该依赖的作用范围指定在编译和测试阶段,避免打包时将对应的依赖打包到 WAR 包中。默认情况下创建的 Spring Boot 项目打包方式为jar,要将项目打包为WAR包,需要在项目的。

qq_42184486的博客 2536

Codex本地部署指南:从环境配置到API集成实战

Codex作为OpenAI推出的代码生成模型,能够根据自然语言描述自动生成代码片段,大幅提升开发效率。这次我们重点分析Codex的本地部署方案、硬件门槛、接口调用方式和实际使用效果,帮助开发者判断是否值得投入时间部署。 从技术架构看,Codex基于GPT-3模型微调,专门针对代码生成任务优化。最新版本支持多种编程语言,包括Python、JavaScript、Java、C++等主流语言。对于国内开发者来说,最关心的是能否在本地环境稳定运行,以及是否需要特殊网络配置。 1. 核心能力速览 能力项 技术说明 模型

weixin_33309048的博客 522

【项目部署上线|第2篇】Spring Boot 项目打包成 jar 并在 Linux 运行

上一篇我们已经学习了 Linux 服务器的一些基础命令,比如目录操作、上传文件、查看进程、查看端口、查看日志等。这一篇我们就正式把 Spring Boot 项目从本地打包成 jar 包,然后上传到 Linux 服务器运行。后端项目能不能在服务器上单独跑起来。本地使用 Maven 打包 Spring Boot 项目检查 jar 包是否生成成功上传 jar 包到 Linux 服务器使用java -jar启动项目使用nohup后台运行项目查看进程、端口和日志。

2401_88139521的博客 557

利用抖音Cookie充值接口提取支付链接,调起原生微信h5支付宝h5支付

最近开始搞一些个人支付通道的开发,方便个人不用和第三方平台签约就能收款,省去很多流程手续的成本。 然后翻了一下网上并没有太多现成的技术教程,只能自己研究着搞了。 这次要分享的是利用抖音的充值接口,去分析提取出支付链接,分别包含微信原生支付的h5支付链接,和支付宝h5支付链接。 微信h5支付: 抖币充值,抖音充值,抖音直播充值官方入口 - 抖音 支付宝h5支付 抖币充值,抖音充值,抖音直播充值官方入口 - 抖音 整个开发流程思路是以下几步: 1.抓包分析抖音的充值的整个流程,提取关键的一些

Android-逆向的博客 6565

锐捷交换机配置SSH

锐捷交换机配置ssh 一、组网需求 通过ssh功能可以远程登录管理设备 二、配置步骤 全局开启ssh服务,并且指定ssh版本 Ruijie>enable Ruijie#configure terminal Ruijie(config)#enable service ssh-server ------>开启SSH服务,默认关闭 Ruijie(config)#ip ssh version 2 ------>默认1.99版本,设置为版本2 添加登

Loners_fan的博客 1万+

Spring Boot项目通过tomcat部署项目(包含jar包、war包)

本文介绍了SpringBoot项目的两种Tomcat部署方式:1)内置Tomcat打包为Jar,适合快速开发和独立部署;2)外置Tomcat打包为War,适合传统企业环境。详细说明了每种方式的配置步骤,包括pom.xml修改、入口类调整、打包命令等。重点对比了两种方式的优缺点,并提供了部署时的注意事项,如端口配置、依赖管理等。文章还简要介绍了Tomcat的发展历史和核心功能,帮助开发者根据实际需求选择合适的部署方案。

LMS2022223000的博客 1919

FPGA矩阵键盘计算器Verilog实现与Quartus仿真全流程解析

本文详细解析了基于FPGA和Verilog的矩阵键盘计算器实现全流程,包括矩阵键盘扫描、状态机设计、算术运算逻辑及数码管显示驱动。通过Quartus仿真与Testbench测试,确保设计稳定性与准确性,适合数字逻辑设计初学者学习FPGA开发与硬件描述语言应用。

chair的专栏 742

Spring Boot学习笔记-Nginx+Jar包部署项目

之前用Spring Boot写的获取英雄联盟战绩的小项目,只是上传到了Github上,Github地址:lol-api。一直没时间部署到服务器上。今天,找时间部署好了,网址是:api.51carry.com。

HowieLi 1万+

罗克韦尔AB PLC_FactoryTalk无法登录的解决方法

罗克韦尔AB PLC_FactoryTalk无法登录的解决方法

Robot_PLC_HMI_Automation 3573

计算机组成原理(第三版)唐朔飞-第一章第二章-课后习题

计算机组成原理

weixin_45735391的博客 7万+

Spring Boot 如何用 cf push 部署到 Cloud Foundry 并验证运行状态?

你手头有一个已经可以打包成可执行 jar 的 Spring Boot 应用,想把它部署到 Cloud Foundry 这个 PaaS 平台,并在部署后确认应用确实运行、能从分配的 URL 访问。Spring Boot 的可执行 jar 本身就可以直接交给 Cloud Foundry:平台的 Java buildpack 对 Spring Boot 有专门支持,既能部署独立可执行 jar,也能部署传

gitblog_00533的博客 916

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

spring-boot-maven-plugin 将spring打包成单个jar的工作原理

核心功能:将 Spring Boot 应用及其依赖打包成一个自包含的 JAR。 关键机制:自定义类加载器(JarLauncher)和嵌套依赖结构(BOOT-INF/lib)。 优势:简化部署,无需外部 Web 服务器或依赖管理。 适用场景:独立运行、容器化部署(Docker)等。

zfj321的博客 1704

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Maven - Spring Boot 项目打包本地 jar 的 3 种方法

本文介绍了在Spring Boot项目中引入本地JAR文件的解决方案。针对无法从仓库获取的第三方JAR,通过<scope>system</scope>声明依赖,配合maven-resources-plugin将JAR复制到BOOT-INF/lib目录,确保打包时能包含在最终的可执行JAR中。方案包含详细配置示例、构建流程图和验证步骤,适用于临时集成、离线部署等场景。同时指出system scope的局限性,建议长期方案应使用本地仓库或私服管理依赖。

小工匠 1525

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

哈罗二面:为什么Spring boot的 jar 可以直接运行?

哈罗二面:为什么Spring boot的 jar 可以直接运行?

架构师尼恩 1414

Spring Boot 打成的 jar 和普通的 jar 有什么区别?

通过将应用、依赖和服务器打包成单一文件,极大简化了开发、测试和部署流程。普通 JAR 则更适合传统架构或需要精细控制依赖的场景。Spring Boot 可执行 JAR 的核心优势在于。

weixin_43521001的博客 1091
上一篇: Spring Boot 接口测试:Postman + Swagger 实战(完整版)
下一篇: Spring Boot 多表关联查询实战(一对多 _ 多对一)
码客日记
博客等级 码龄6年 149粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码客日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值