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

java -jar xxx.jar 提示xxx.jar中没有主清单属性报错解决方案

xxx.jar 中没有主清单属性 (no main manifest attribute)解决方案

java -jar xxx.jar 提示xxx.jar中没有主清单属性报错解决方案

这个错通常出现在你用 java -jar xxx.jar 启动,但 JAR 的 META-INF/MANIFEST.MF 里没有 Main-Class 条目(或没按可执行 JAR 的方式打包)。快速检查 + 常见解决方案如下:


用构建工具打出可执行 JAR

如果你用 MavenGradle,推荐在构建阶段就写好 Main-Class 并(如果需要)生成 fat/uber-jar。

Maven (maven-jar-plugin):

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.qwen.QwenChatApplication</mainClass><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>

生成包含依赖的可执行 jar 用 maven-shade-pluginspring-boot-maven-plugin(Spring Boot 项目)。

image-20250809231836913

Gradle(普通 jar):

jar {manifest {attributes 'Main-Class': 'com.example.Main'}
}

如果要包含依赖(fat jar),用 shadow 插件或 application 插件的打包方式。


常见坑 & 提示

  • Main-Class 值必须是完全限定类名(包含包名),且该类要有 public static void main(String[] args)
  • MANIFEST.MF 文件末尾必须以换行结尾,否则属性可能不会生效。
  • 如果这个 jar 只是一个 library(不是可执行),它本来就可能没有 Main-Class,这时应通过 -cp 指定主类或使用项目提供的启动脚本。
  • Spring Boot、jar-with-dependencies、shade 等工具会改变启动方式(Spring Boot 会用自己的启动器),请按对应工具文档打包。

修复完以后,再次运行就可以看到正常的启动信息输出了。

image-20250809231400632

http://www.lryc.cn/news/615332.html

相关文章:

  • 【Git】Visual Studio 实现合并分支
  • Alibaba Cloud Linux 3 安装 git
  • DigitalProductId解密算法php调试版piddebug.php
  • n8n飞书webhook配置(飞书机器人、飞书bot、feishu bot)Crypto节点、js timestamp代码、Crypto node
  • AG32cpld实现一个UartTx“外设”
  • Kafka服务端NIO操作原理解析(二)
  • Arm Development Studio 安全通告:CVE-2025-7427
  • 人脸情绪检测数据集-9,400 张图片 智能客服系统 在线教育平台 心理健康监测 人机交互优化 市场研究与广告 安全监控系统
  • 【面试题】cookie和session 的区别
  • 【26】C#实战篇—— 多个线程函数对同一个 Excel 文件进行写操作引起的文件冲突问题,解决方法
  • Playwright C# 自动登录并上传 Excel 文件 的可运行示例
  • Irix HDR Pro:专业级 HDR 图像处理软件
  • Docker部署whisper转写模型
  • Java中Lambda表达式的常见用法和解析:从入门到实战
  • C/C++基础详解(二)
  • 【51单片机4按键启动停止向上向下流水灯】2022-10-26
  • 本文章分享一个本地录音和实时传输录音给app的功能(杰理)
  • 【c++】探秘Loop机制:C++中优雅的双向数据交互模式
  • Ubuntu下安全彻底删除后端服务完整指南
  • 网络原理-初识
  • PNPM总结
  • QT第一讲- Qt初探
  • Microsoft Office Visio(流程图)学习笔记
  • 使用SymPy lambdify处理齐次矩阵的高效向量化计算
  • 动手学深度学习(pytorch版):第二章节——预备知识(1)——数据操作
  • 2025华数杯数学建模C题:可调控生物节律LED光源全解析
  • 理解协议最大传输单元(MTU)和TCP 最大报文段长度(MSS)
  • 自动生成视频的AI大模型高效创作指南
  • 掌握数据可视化:全局配置项详解
  • Nginx 反向代理与负载均衡架构