You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Spring Boot重新打包的Jar中执行独立的Main方法

解决Spring Boot Jar中执行自定义Main类的问题

方法一:利用Spring Boot内置参数指定主类

Spring Boot的可执行Jar支持通过启动参数直接指定要运行的主类,无需手动处理复杂类路径,命令如下:

java -jar .\target\a-spring-boot-demo-1.0.0.jar --spring.main.class=com.my.demo.MyNewConsole

该方式会自动由Spring Boot启动器处理BOOT-INF/classes下的业务类和BOOT-INF/lib下的依赖包,是最简便的方案。

方法二:手动配置类路径(适用于非Spring Boot上下文场景)

如果你的MyNewConsole只是普通Java主类,不需要加载Spring Boot上下文,可以直接指定Jar内部的类和依赖路径。Windows系统下命令格式:

java -cp ".\target\a-spring-boot-demo-1.0.0.jar;.\target\a-spring-boot-demo-1.0.0.jar!/BOOT-INF/classes;.\target\a-spring-boot-demo-1.0.0.jar!/BOOT-INF/lib/*" com.my.demo.MyNewConsole

注意:

  • Windows系统类路径分隔符为;,Linux/macOS需替换为:
  • !/是Jar URL语法,用于指向Jar内部的目录或文件

方法三:原始Jar配合本地依赖库

a-spring-boot-demo-1.0.0.jar.original是仅包含你的业务代码的普通Jar,没有打包依赖,需手动引入所有依赖包:

  1. 先通过Maven命令将依赖下载到本地目录:
mvn dependency:copy-dependencies -DoutputDirectory=target/dependency
  1. 再执行主类,类路径包含原始Jar和所有依赖:
java -cp ".\target\a-spring-boot-demo-1.0.0.jar.original;.\target\dependency\*" com.my.demo.MyNewConsole

内容的提问来源于stack exchange,提问作者gfan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 21:03:38