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

解决 java -jar 报错:xxx.jar 中没有主清单属性

问题复现

在使用 java -jar xxx.jar 命令运行 Java 应用程序时,遇到了以下错误:

xxx.jar 中没有主清单属性

在这里插入图片描述

这个错误表示 JAR 文件缺少必要的启动信息,Java 虚拟机无法找到应用程序的入口点。本文将介绍该错误的原因以及如何通过修改 pom.xml 文件来解决。


错误原因

当你使用 java -jar 命令运行一个 JAR 文件时,Java 虚拟机会在该 JAR 的 META-INF/MANIFEST.MF 文件中查找 Main-Class 属性,以确定应用程序的入口点。如果该属性缺失,或者指定的主类不存在,就会导致上述错误。


解决方法

要解决这个问题,需要在项目的 pom.xml 文件中配置 Maven 插件,以正确生成包含 Main-Class 属性的可执行 JAR 文件。

步骤一:在 pom.xml 中添加或修改 <build> 配置

在你的 pom.xml 文件中,找到或添加 <build> 部分。

在这里插入图片描述

然后修补上以下内容:

<build><plugins><!-- Maven Compiler Plugin --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><!-- Spring Boot Maven Plugin --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>xxx.xxx.xxx.xxxApplication</mainClass><skip>false</skip></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>

配置说明:

  • Maven Compiler Plugin:指定了 Java 源代码和目标版本,以及编码格式。
  • Spring Boot Maven Plugin
    • <mainClass>:指定应用程序的主类,必须包含 main 方法。请将 xxx.xxx.rxxxdc.xxxApplication 替换为你实际的主类路径。
    • <skip>false</skip>:确保插件不会被跳过,默认情况下可以省略该配置。
    • <executions>:指定在构建过程中执行 repackage 目标,重新打包 JAR 文件。

步骤二:重新构建项目

在项目根目录下,运行以下命令:

mvn clean package

这将清理项目并重新打包,生成的 JAR 文件通常位于 target 目录下,名称类似于 xxx.jar

也可以在 IDEAMaven 菜单里右键操作。

先运行 clean

在这里插入图片描述

再运行 package

在这里插入图片描述


步骤三:运行生成的 JAR 文件

使用以下命令运行应用程序:

java -jar target/xxx.jar

如果配置正确,应用程序应该能够正常启动,不再出现 “没有主清单属性” 的错误。

在这里插入图片描述


注意事项

  • 确认主类存在且路径正确:确保你的主类(例如 xxxApplication)存在,并且位于指定的包路径下(例如 xxx.xxx.xxx)。
  • 版本一致性spring-boot-maven-plugin 的版本应与 Spring Boot 的版本一致,通常使用 ${spring-boot.version} 引用。
  • 避免插件被跳过:确保 <skip>false</skip>,避免插件被跳过。
  • 重新打包:确保 <executions></executions>标签及内部的repackage属性存在。

结论

通过在 pom.xml 文件中正确配置 Maven 插件,可以解决 java -jar 命令运行时出现的 “没有主清单属性” 的错误。关键是确保生成的 JAR 文件包含正确的 Main-Class 属性,以及所有必要的依赖项。

希望本篇文章能够帮助你解决问题,顺利运行你的 Java 应用程序。

相关文章:

解决 java -jar 报错:xxx.jar 中没有主清单属性

问题复现 在使用 java -jar xxx.jar 命令运行 Java 应用程序时&#xff0c;遇到了以下错误&#xff1a; xxx.jar 中没有主清单属性这个错误表示 JAR 文件缺少必要的启动信息&#xff0c;Java 虚拟机无法找到应用程序的入口点。本文将介绍该错误的原因以及如何通过修改 pom.xm…...

Java HashSet 介绍

怀旧网个人博客网站地址&#xff1a;怀旧网&#xff0c;博客详情&#xff1a;Java HashSet 介绍 哈希值介绍 创建一个实体类 public class Student {private String name;private int age;public Student(String name, int age) {this.name name;this.age age;} }使用测试…...

2024年几款免费的AI对话工具介绍

目前几款免费的AI对话工具介绍 文章目录 目前几款免费的AI对话工具介绍一、前言二、AI对话工具介绍1、讯飞星火认知大模型2、百度文心一言3、通义千问4、豆包5、百川大模型6、智谱清言7、月子暗面-KIMI下面是国外的 AI 对话工具&#xff1a; 8、Replika8、Cleverbot9、Coze 三、…...

Gazebo构建模型(含GNSS、IMU、LiDAR、Camera传感器)

将GNSS、IMU、LiDAR、Camera传感器和机器人的base分别放在不同的文件中。这样可以提高模型的可维护性和模块化。下面是一个示例&#xff0c;展示如何将这些部分分别放在不同的.xacro文件中&#xff0c;然后通过导入的方式组合在一起。 1. 创建基础文件&#xff1a;my_robot.xa…...

#Js篇: 链式判断运算符 ?.和Null判断运算符 ??和逻辑赋值运算符||= = ??=

链式判断运算符 ?. ?.运算符&#xff0c;直接在链式调用的时候判断&#xff0c;左侧的对象是否为null或undefined。如果是的&#xff0c;就不再往下运算&#xff0c;而是返回undefined。 链判断运算符?.有三种写法。 obj?.prop // 对象属性是否存在 obj?.[expr] // 同上…...

IDEA敲Web前端快捷键

1.html基础格式 英文符号TAB键 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport"content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, mini…...

【Vue3】【Naive UI】<NDropdown>标签

【Vue3】【Naive UI】 标签 基本设置自定义渲染交互事件其他属性 【VUE3】【Naive UI】&#xff1c;NCard&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;n-button&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c;a&#xff1e; 标签 【VUE3】【Naive UI】&#xff1c…...

技术总结(四十一)

一、MySQL 索引概述 索引的概念&#xff1a;索引就好比一本书的目录&#xff0c;它能帮助 MySQL 快速定位到表中的数据行&#xff0c;而不用全表扫描。通过创建合适的索引&#xff0c;可以大大提高查询的效率。例如&#xff0c;在一个存储了大量员工信息的表中&#xff0c;如果…...

Android布局

一、线性布局 属性&#xff1a;orientation vertical horizontal layout_weight【水平均分&#xff0c;width"0dp"】 layout_height layout_width 小动物连连看 1<?xml version"1.0" encoding"utf-8"?>2<LinearLayout xmlns:and…...

k8s集成skywalking

如果能科学上网的话&#xff0c;安装应该不难&#xff0c;如果有问题可以给我留言 本篇文章我将给大家介绍“分布式链路追踪”的内容&#xff0c;对于目前大部分采用微服务架构的公司来说&#xff0c;分布式链路追踪都是必备的&#xff0c;无论它是传统微服务体系亦或是新一代…...

如何写一份优质技术文档

作者简介&#xff1a; 本文作者拥有区块链创新专利30&#xff0c;是元宇宙标准化工作组成员、香港web3标准工作组成员&#xff0c;参与编写《数据资产确权与交易安全评价标准》、《链接元宇宙&#xff1a;应用与实践》、《香港Web3.0标准化白皮书》等标准&#xff0c;下面提供…...

LeetCode:206.反转链表

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;206.反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例…...

详解高斯消元

详解高斯消元 好东西,可以求所有一次方程组的解。 \color {red} 好东西,可以求所有一次方程组的解。 好东西,可以求所有一次方程组的解。 前置知识 一般消元法的公理: 两方程互换,解不变; 一方程乘以非零数 k k k,解不变; 一方程乘以数 k k k加上另一方程,解不变。 …...

Maven - 优雅的管理多模块应用的统一版本号

文章目录 概述一、使用 versions-maven-plugin 插件1. 在主 pom.xml 中定义插件2. 修改版本号3. 回退修改4. 提交修改 二、使用占位符统一管理版本号1. 在主 pom.xml 中定义占位符2. 使用 flatten-maven-plugin 插件自动替换占位符3. 修改版本号4. 为什么这种方式更方便&#x…...

国际网络安全趋势

1. 亲近拥抱人工智能自动化。 随着安全协调、人工智能自动化和响应(SOAR)的日益普及&#xff0c;人工智能自动化开始成为现实并将继续扩展到其他安全行动领域。寻求将人工智能自动化整合到原有的工具中&#xff0c;通过将威胁情报整合在一起&#xff0c;将其转换为可用格式并主…...

基于米尔全志T527开发板的FacenetPytorch人脸识别方案

本篇测评由优秀测评者“小火苗”提供。 本文将介绍基于米尔电子MYD-LT527开发板&#xff08;米尔基于全志 T527开发板&#xff09;的FacenetPytorch人脸识别方案测试。 一、facenet_pytorch算法实现人脸识别 深度神经网络 1.简介 Facenet-PyTorch 是一个基于 PyTorch 框架实…...

Altium Designer脚本工具定制

原理图设计自动化 ➡️Altium原理图检查工具 ➡️元器件参数集导入导出 ➡️原理图符号自动创建 ➡️原理图高级查找 ➡️原理图库文档高级查找 ➡️原理图文档对比 ➡️原理图库文档对比 PCB设计自动化 ➡️各种各样的PCB线圈自动创建 ➡️PCB文档导出成SVG格式文档…...

贝锐自研智慧网关系统OrayOS升级,适配Banana PI开发板BPI-R3 Mini

为了满足多元化的应用场景&#xff0c;贝锐与Banana PI携手合作&#xff0c;贝锐自研新一代云智慧网关系统OrayOS不仅已成功适配BPI-R3&#xff0c;还进一步扩展至BPI-R3 Mini&#xff0c;提供了更丰富的选择。在全球工业物联网、视频监控管理以及企业级办公存储等领域&#xf…...

搭建环境-PHP简介及环境搭建教程

搭建环境-PHP简介及环境搭建教程 前言 在现代Web开发中,PHP是一种广泛使用的服务器端脚本语言,它以简洁、高效和跨平台的特性受到开发者的青睐。无论是小型网站还是大型企业应用,PHP都能提供强大的支持。本文将为您详细介绍PHP的基本概念、特点,以及如何搭建PHP开发环境。…...

Maven 配置

参考学习&#xff1a; eclipse&#xff08;或myeclipse&#xff09;通过maven配置连接neo4j_eclipse 链接 neo4j-CSDN博客 爆肝十小时—我终于用Java连上Neo4j数据库 - 知乎 全站最全Maven下载安装配置教学&#xff08;2024更新...全版本&#xff09;建议收藏...赠送IDEA配置Ma…...

js常见函数实现

文章目录 一、数组Array1、forEach2、filter3、map4、reduce5、find6、findIndex7、includes8、join 二、对象Object1、Object.keys2、深复制 js环境中有很多工具函数&#xff0c;比如es6添加了很多新的属性和方法&#xff0c;这些方法也可以自定义实现&#xff0c;但是官方也提…...

点云3DHarris角点检测算法推导

先回顾2D的Harris角点检测算法推导 自相关矩阵是Harris角点检测算法的核心之一&#xff0c;它通过计算图像局部区域的梯度信息来描述该区域的特征。在推导Harris角点检测算法中的自相关矩阵时&#xff0c;我们首先需要了解自相关矩阵的基本思想和数学背景。 参考 1. 能量函数…...

mysql-binlog的三种模式

MySQL的binlog&#xff08;二进制日志&#xff09;有三种主要模式&#xff0c;分别是Statement、Row和Mixed。这三种模式在记录数据库更改的方式上有显著的区别&#xff0c;以下是对这三种模式的详细解释及对比&#xff1a; 一、Statement模式&#xff08;基于SQL语句的复制&a…...

自动类型推导(auto 和 decltype);右值引用和移动语义

1) 自动类型推导&#xff08;auto 和 decltype&#xff09; 自动类型推导&#xff08;auto&#xff09; 在C11及以后的版本中&#xff0c;auto关键字被引入用于自动类型推导。这意味着编译器会自动推断变量的类型&#xff0c;基于其初始化的表达式。使用auto可以让代码更加简…...

(Linux 系统)进程控制

目录 一、进程创建 1、fork函数初识 二、进程终止 1、正常终止 2、异常终止 三、进程等待 1、进程等待必要性 2、进程等待的方法&#xff1a; 四、获取子进程status 1、基本概念 2、进程的阻塞等待方式 3、进程的非阻塞等待方式 五、进程程序替换 1、六种替换函数…...

【Nativeshell】flutter的pc跨平台框架学习记录<二> 窗口间通信

首先是初始化&#xff1a; 查看Nativeshell的demo代码 // ignore_for_file: undefined_hidden_name, // not in main import package:flutter/material.dart hide MenuItem; import package:nativeshell/nativeshell.dart;import pages/other_window.dart; import pages/plat…...

今日codeforces刷题(1)

一、前言 新栏目&#xff0c;每隔几天就保质保量地刷个10道codeforces题左右的样子 筛选1200-1500难度的题&#xff0c;然后按通过题目的人数降序排列的前10题 二、题目总览 三、具体题目 3.1 25A. IQ test 我的代码 看奇数出现的次数为1还是偶数出现的次数为1&#xff0c…...

【C++算法】20.二分查找算法_x 的平方根

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;图解 题目链接&#xff1a; 69. x 的平方根 题目描述&#xff1a; 解法 暴力解法&#xff1a; 如果x17 从1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5......这些数里面找他们的平方…...

图像显示的是矩阵的行和列,修改为坐标范围。

x 3; y 3; f1x x^2 y^2; guance1 f1x; F (x, y) sqrt((x.^2 y.^2 - guance1).^2); % 使用点乘 [x, y] meshgrid(0:1:5, 0:1:5); Z F(x, y); figure; imagesc(Z); % 由于 imagesc 使用矩阵索引作为坐标&#xff0c;我们需要手动添加刻度 % 这里我们假设 x 和 y 的范围…...

通义灵码走进北京大学创新课堂丨阿里云云原生 10 月产品月报

云原生月度动态 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》&#xff0c;从趋势热点、产品新功能、服务客户、开源与开发者动态等方面&#xff0c;为企业提供数字化的路径与指南。 趋势热点 &#x1f947; 通义灵码走进北京大学创新课堂&#xff0c;与 400…...

中国网站建设公司排行/单页网站怎么优化

当我们运用qq查找朋友时&#xff0c;发现qq里面的朋友太多&#xff0c;名字也差不多&#xff0c;不确定谁是谁时&#xff0c;那么好友的备注分组名称就会体现出来很重要&#xff0c;不管对方如何改网名还是怎么的&#xff0c;你怎么知道他是谁。以下是烟花美文网www.39394.com …...

百度可信网站/百度小说搜索风云排行榜

动态查找树主要有&#xff1a;二叉查找树&#xff0c;平衡二叉树&#xff0c;红黑树&#xff0c;B-tree/B-tree/B*-tree。前三个都是典型的二叉树结构&#xff0c;查找的时间复杂度O(log2N)和树的深度相关&#xff0c;随着树的深度降低会提高查找效率。而在现实情况中大部分数据…...

罗定城乡建设局网站/石家庄网站建设

2021中山市普通高中排名一览表2021-05-06 13:40:35文/董玉莹高中对于学生的学习是影响很大的&#xff0c;好的高中能提供学生好的学习环境。本文整理了中山高中排名&#xff0c;来看看都有哪些重点高中。高中排名排名学校名称1中山市中山纪念中学2中山市第一中学3中山市华侨中学…...

动态网站建设教程/广州seo关键词优化外包

SET GLOBAL max_allowed_packet10000000000; SET GLOBAL net_buffer_length1000000;...

云南网站建设快速优化/app推广平台网站

http://i.isclab.org/?p299 在windows平台下&#xff0c;可以使用native wifi api来控制无线网卡&#xff0c;包括获取无线网卡参数&#xff0c;获取周围无线接入点参数等功能&#xff0c;在windows xp sp2版本的系统上&#xff0c;使用需要下载一个KB918997补丁包才能支持&am…...

天空台108网站找手工活带回家做/百度软件中心下载

入门HelloWorld新建项目Configure your new project部分选中 Include C Support 复选框Next正常填写所有其他字段并完成向导接下来几个部分在向导的Customize C Support 部分&#xff0c;您可以使用谢列选项自定义项目&#xff1a;C Standard : 使用下拉列表选择使用的C标准。选…...