Could not find or load main class org.springframework.boot.loader.JarLauncher

“Could not find or load main class”是什么意思? 在Java开发中,新手常遇到程序运行时抛出 “Could not find or load main class” 错误。这个错误表明Java虚拟机(JVM)无法找到或加载指定的主类,导致程序无法启动。理解该错误的含义、成因及解决方法,对Java开发者至关重要。 阅读详情
AI摘要

本文解决了使用java-jar命令启动应用时出现的错误:找不到或加载主类org.springframework.boot.loader.JarLauncher。通过调整jar文件路径为绝对路径,成功修正了工作目录问题。

简述

今天用java -jar出现了个匪夷所思的错误
Error: Could not find or load main class org.springframework.boot.loader.JarLauncher,这个第一眼感觉应该是jar包本身的问题。结果排除下来问题也算找到了。

从java -jar说起

java -jar app.jar用这个启动没啥问题,但是由于要指定java的工作路径所以我们加了个参数java -jar -Duser.dir=/home app.jar一直行就一脸懵逼了。

java -jar -Duser.dir=/home app.jar
# 报错如下
# Error: Could not find or load main class org.springframework.boot.loader.JarLauncher

上述错误搞得我n脸懵逼,之前一直都是这么用的,首先排除jar的问题,然后我找了很久以前docker里面用的启动参数,发现app.jar是决定路径,然后改了试一试,好的,我滴乖乖就是这个问题

指定user.dir时,jar包必须用绝对路径

# 好的,jar包改成绝对路径就能运行了,并且正确修改工作路径
java -jar -Duser.dir=/home /home/test/app.jar
技术学习中隐形问题识别与系统化解决方案 在技术学习过程中,环境配置和概念理解是开发者经常遇到的基础挑战。环境配置涉及依赖管理、版本控制和开发环境标准化,其核心原理在于确保开发、测试和生产环境的一致性。通过科学的版本管理策略和容器化技术,可以有效解决依赖冲突和环境差异问题,提升开发效率和团队协作质量。概念理解则需要建立系统化的知识图谱,通过实践驱动和源码阅读深化技术认知。这些方法在微服务架构、云原生应用等现代软件开发场景中尤为重要,能够帮助开发者避免Spring Boot环境配置、Docker容器化部署中的常见陷阱,实现从理论学习到项目实践的平滑过 阅读详情

相关推荐

SpringBoot项目打包部署实战:从Maven到服务器运行全解析

在Java企业级开发中,项目构建与部署是连接开发与生产环境的关键环节。其核心原理在于通过构建工具将源代码、依赖库和配置打包成可独立运行的单元,实现环境隔离与一致性。这一过程的技术价值在于解决了“在我机器上能跑”的经典难题,提升了软件交付的可靠性和效率。常见的应用场景包括将本地开发的SpringBoot应用部署到Linux服务器、云主机或容器平台。本文聚焦于使用Maven构建可执行Jar包(Fat Jar)这一主流方案,详细解析了从pom.xml配置、多环境配置分离到服务器部署的完整流程,并针对“依赖冲突”、

weixin_33721427的博客 273

java 启动jar包 报错找不到主启动类

问题来源         springboot + maven 打包成jar包后,使用java jar命令启动jar包时,报错:Could not find or load main class org.springframework.boot.loader.JarLauncher 问题解决         需要在...

拾忆的博客 8216

OpenClaw轻量级云调度框架:腾讯云+18789端口快速部署指南

OpenClaw是一个面向Java开发者的轻量级自动化任务调度框架,基于Spring Boot构建,核心原理是将应用打包为自包含可执行文件,内置Web控制台与HTTP API,通过智能环境检测(如JDK自动安装、端口冲突规避)剥离Linux运维复杂度。其技术价值在于降低云服务部署门槛,实现‘一人即全栈’的工程落地——无需Nginx、systemd或Kubernetes知识,即可在腾讯云轻量服务器上12分钟完成从克隆到访问的全流程。典型应用场景包括定时数据抓取、跨系统API编排、COS文件自动归档及飞书/微信

weixin_30243533的博客 421

Could not find the main class: org.springframework.boot.loader.JarLauncher. Program will exit.

cmd java -jar报错:Could not find the main class: org.springframework.boot.loader.JarLauncher. Program will exit. 已知:jdk版本不一致的时候会出现这个错误。注意cmd java -version 自己电脑的环境变量是什么 例如环境变量配置的是jdk1.6,而springboot项目是jdk1.8 就会出现此错误 ...

孟秋与你的博客 1万+

解决SpringBoot项目启动错误:找不到或无法加载主类

IDE(如 IntelliJ IDEA、Eclipse)可能存在编译缓存问题,导致。运行 Spring Boot,可执行 Jar 包可能有错误。但你的 Java 版本是 1.8,则需要升级 JDK。Spring Boot 依赖未正确下载,导致。该错误表明 Java 运行时无法找到或加载。Spring Boot 默认会扫描当前。如果文件缺失,说明编译失败,需要检查。如果按照以上步骤仍无法解决,请检查。,可能会发现更详细的错误信息。JDK 版本不匹配可能导致。如果输出错误,重新配置。文件无法被正确加载。

s13596191285的博客 5656

【SpringBoot】Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster

【SpringBoot】Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster报错明细问题解决后记 报错明细 IDEA SpringBoot集成hadoop运行环境,,本地启动项目,GET请求接口触发远程提交MapReduce任务至生产集群报错: Failing this attempt.Diagnostics: [2020-02-17 00:44:42.444]Exception from container-launch. Container id: container_

解决Error: Could not find or load main class org.springframework.boot.loader.launch.JarLauncher问题

完整构建模板(含插件绑定逻辑)→ 自动触发 repackageBOM纯依赖版本管理器→ 无构建逻辑,必须手动配置插件绑定你遇到的找不到,本质是未触发 repackage应无输出)追求简洁 → 继承需要自定义父 POM(如公司统一父 POM)→ 用 BOM +手动配置插件绑定(缺一不可)

dfdvf的博客 341

从MFCC到GMM:手把手教你用Python实现说话人识别(附完整代码)

本文详细介绍了如何使用Python实现说话人识别系统,从MFCC特征提取到GMM模型训练,涵盖完整的技术流程和代码示例。通过梅尔频率倒谱系数(MFCC)和高斯混合模型(GMM)的结合,构建高效的说话人识别系统,适用于身份认证和智能交互场景。文章还探讨了从传统方法到深度学习的进阶话题,如i-vector和x-vector技术。

o1p2q3r的博客 199

Spring Boot报错找不到JarLauncher?从启动原理到根因排查与修复

在Java工程实践中,Spring Boot可执行jar是一种自包含的部署产物,它借助JarLauncher引导器让JVM能够加载嵌套依赖并启动业务主类。然而当运行java -jar时如果抛出Could not find or load main class JarLauncher,往往意味着最外层的启动链路已经断裂,问题既不源于你的Application类,也可能与业务代码无关。对于这类类加载异常,需要从JVM类加载机制、构建产物结构、MANIFEST清单配置及Java版本兼容性等基础维度入手,结合Mav

weixin_33226548的博客 216

银河麒麟V10安装docker

最近在做的一个信创项目使用的操作系统是银河麒麟高级服务器V10,在安装docker时,会遇到下面的错误。 nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.0-3.el7.x86_64 经过分析,以下依赖包是centos系统中的包,所以需要给kylinos创建一个合适的centos源。经过实验,Kylin Linux Advanced Server V1

m0_38004228的博客 4907

脑电数据预处理十四:主成分分析(PCA)用于伪迹去除与降维

本文探讨了主成分分析(PCA)在脑电图(EEG)预处理中的双重应用。针对EEG数据的高维特性和伪迹干扰问题,PCA既可有效去除高振幅伪迹(如眼动、心电等),又能实现数据降维。文章详细解析了PCA的核心原理,包括正交基向量投影和方差最大保留机制,并提供了基于MNE-Python的完整实现方案。通过代码示例展示了PCA在伪迹去除和降维中的具体应用效果,包括功率谱密度和时域波形的可视化对比。虽然ICA在复杂伪迹处理上更具优势,但PCA以其算法简单、计算高效的特点,成为EEG分析流程中不可或缺的基础工具。

qq_32516809的博客 1417

spring-boot-maven-plugin深度解析:从打包到部署的实战指南

在Java应用交付链路中,打包与部署是绕不开的核心环节。Spring Boot项目通常通过Maven构建,而其默认的打包方式与普通Jar存在本质差异:可执行Jar内嵌了依赖与类加载器,能够独立运行。理解这一原理,是掌握spring-boot-maven-plugin repackage机制的基础。该插件负责将普通Jar重组成包含BOOT-INF目录结构的可执行产物,解决传统java -jar无法识别嵌套依赖的问题,大幅简化部署流程。实际工程中,无论是使用java -jar直接运行、Docker分层镜像构建,

weixin_34087307的博客 314

用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南

摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 335

Spring Boot启动异常深度排障:从SpringApplication类加载失败到生产级诊断

Spring Boot启动异常本质是JVM类加载、Maven依赖传递与Spring自动装配三者交叉失效的结果。其核心原理在于SpringApplication作为启动引擎控制器,需严格依赖spring-boot、spring-core、spring-context等组件的版本一致性与类路径可见性;技术价值体现在快速区分编译期缺失(如NoClassDefFoundError)与运行期配置错误(如IllegalStateException),支撑金融、政务等高可靠性场景的分钟级故障定位;典型应用场景覆盖本地ID

weixin_33889665的博客 326

YOLOv11改进 | 添加注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

这篇文章给大家带来的改进机制是一个汇总篇,包含一些简单的注意力机制,本来一直不想发这些内容的(网上教程太多了,发出来增加文章数量也没什么意义),但是群内的读者很多都问我这些机制所以单独出一期视频来汇总一些比较简单的注意力机制添加的方法和使用教程,本文的内容不会过度的去解释原理,更多的是从从代码的使用上和实用的角度出发去写这篇教程。欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、GAM2.1 GAM的介绍2.2 GAM的核心代码。

Snu77的博客 5151

第3.4章 机器人第三方库实战总结(四):G2O优化库从入门到实战(附SLAM实例代码)

自定义边同样是满足复杂应用需求的重要手段。自定义边时,需要明确边所连接的顶点类型以及边所表示的误差项的计算方式。假设我们要定义一条边,用于约束两个上述自定义顶点之间的相对位姿和传感器偏移量关系。我们可以这样定义边类:public:// 计算误差// 计算雅可比矩阵// 读盘和存盘函数,这里暂不实现。

行知SLAM 357

Java项目打包与运行错误排查:从IDEA配置到Maven插件的完整指南

在Java开发中,打包是将源代码、依赖和资源配置整合为可执行交付物的关键环节,其核心原理在于构建工具对项目结构和类路径的管理。理解构建工具如Maven、Gradle的工作原理,以及JAR包中MANIFEST.MF文件的作用,对于确保应用在不同环境下的稳定运行至关重要。这项技术的价值在于实现应用的可移植性和一致性交付,广泛应用于企业级应用部署、微服务架构和持续集成流程。本文聚焦于解决打包后常见的运行错误,例如“找不到主清单属性”和“NoClassDefFoundError”,通过分析IDEA的Artifact

weixin_33696822的博客 439

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

Spring Cloud + Maven 分离打包:微服务发布从90MB瘦身到4MB

在微服务架构中,Java 应用的打包与发布方式直接影响交付效率。传统 Spring Boot 项目常将所有第三方依赖打进一个 fat jar,几十甚至上百 MB 的产物在每次业务代码改动后都要重新上传部署,严重拖慢迭代节奏。Maven 分离打包通过调整构建配置,将业务代码与基本不变的依赖库物理隔离,利用 Spring Boot 的 PropertiesLauncher 机制实现外部依赖加载。这一方案不仅让单次发布产物缩小到几 MB,还简化了回滚与依赖升级流程,特别适合频繁更新自身代码、依赖相对稳定的微服务场

weixin_33853827的博客 290

修复Oracle MySQL Server 安全漏洞(CVE-2023-0464)

修复Oracle MySQL Server 安全漏洞(CVE-2023-0464)

路~可以走过 3682

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java 如何运行SpringBoot jar包中的指定main函数

测试类包含了主函数,被一起打到了jar包中。但是如果执行:java -jar test.jar 那么会执行web服务的主函数。我们如何指定执行测试类中的主函数呢? 一开始是想到用:java -cp test.jar com.my.TestClass 但是提示无法找到主函数:Error: Could not find or load main class原因是SpringBoot打包时,把所有的类都放到了BOOT-INF/classes下,而BOOT-INF不是一个合法的包名。 其实正确的方法如下:java

qq_30436011的博客 2485

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Springboot项目时发现无法启动 Could not find or load main class

今天启动Springboot项目时发现无法启动,一直报错如下: springboot Error: Could not find or load main class SpringBoot: DemoApplication 根据网上查的,maven install, maven build一系列操作之后还是不行,而且target里面classes 文件也正常生成了,就是找不到主类,启动不了。 最后换idea发现路径有两个?? 解决办法: 把项目径中的中文字符,删除之后,程序正常启动! ...

weixin_44714376的博客 3212

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SpringBoot出现找不到或无法加载主类解决办法

Springboot启动提示无法加载主类

蓝色格子ren的博客 4万+

springboot错误: 找不到或无法加载主类(Could not find or load main class)

解决方案:点击右侧maven管理,在对应的微服务下点击展开Lifecycle双击clean即可。springboot项目启动微服务控制台打印此异常: 找不到或无法加载主类。

hkl_Forever的博客 4845

【项目问题解决】SpringBoot错误: 找不到或无法加载主类

检查启动类路径:确保在启动配置中正确设置了主类的路径。在IDEA中,可以通过右键单击启动类,选择"Run"或"Debug"来运行应用程序。清理和重新编译项目:使用Maven或Gradle进行清理和重新编译项目,以确保所有依赖项正确加载。检查项目配置:确保项目的配置文件正确,并且没有任何错误或缺失的配置。特别是要检查项目的pom.xml文件和application.properties或application.yml文件。检查项目依赖:确保项目的依赖项正确配置,并且没有任何缺失或冲突的依赖项。

qq_43238568的博客 1万+

SpringBoot启动报错“找不到或无法加载主类”

问题描述: springboot项目打成jar包后,通过java -jar启动,报错“找不到或无法加载主类” 问题排查: 1.本地 mvn install 打包,然后java -jar jar包,启动成功 2.将jar上传到linux服务器,java -jar jar包,启动失败,报错“java命令不存在” 原因:jdk没有配置...

laoxilaoxi_的博客 8038
上一篇: OpenCV4.12在Centos7和Ubuntu18下的安装
下一篇: ERR_CERT_AUTHORITY_INVALID和SSL: error:0B080074:x509
mt23
博客等级 码龄12年 33粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值