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

服务器启动jar包的时候报”no main manifest attribute“异常(快捷解决)

所以,哥们,又出现问题咯.没事,我也出现了,哈哈哈哈哈,csdn感觉太麻烦了,所以搞了一篇这个. 没得事,往下看,包解决的.

希望可以帮助到各位,感谢阅览!

小手点个赞,作者会乐烂哈哈哈哈哈哈😆😆😆😆

问题描述

启动 jar 包的时候报错no main manifest attribute“异常

这条错误信息表明在尝试运行java_gobang-0.0.1-SNAPSHOT.jar时遇到了问题,没有找到主清单属性。在Java中,当试图运行一个JAR文件时,它需要包含一些必要的主清单属性,尤其是Main-Class属性,该属性指定了JAR文件的主类。

主清单属性的用途

  • Main-Class: 指定JAR文件的主类,即程序的入口点。
  • 其他常用属性还包括Class-Path(指定类路径)、Manifest-Version(指定清单版本)等。

解决方法

1. 生成包含主类的清单文件:

  • 现在一般使用Maven或Gradle构建项目,可以在构建配置中添加清单文件的配置。

  • 对于Maven,1.要在pom.xml文件中添加如下配置:(要配置这个插件)

  • 1<build>
    2    <plugins>
    3        <plugin>
    4            <groupId>org.apache.maven.plugins</groupId>
    5            <artifactId>maven-jar-plugin</artifactId>
    6            <version>3.2.0</version>
    7            <configuration>
    8                <archive>
    9                    <manifest>
    10                        <mainClass>com.example.MainClass</mainClass>
    11                    </manifest>
    12                </archive>
    13            </configuration>
    14        </plugin>
    15    </plugins>
    16</build>

    这里,<mainClass>标签应替换为应用程序的主类全限定名。类似如下:

(注意: 这里的skip 要设置为 false  我当时问题就出在这)

<skip>true</skip>标签。这会导致Maven构建过程中跳过spring-boot-maven-plugin的默认生命周期,这意味着不会自动创建包含Main-Class属性的可执行JAR文件。所有要么移除,要么设false

  • 对于Gradle,可以在build.gradle文件中添加如下配置:

    1jar {
    2    manifest {
    3        attributes 'Main-Class': 'com.example.MainClass'
    4    }
    5}

    同样地,com.example.MainClass应替换为你的主类全限定名。

2. 检查JAR文件的清单文件:

  • 使用文本编辑器打开java_gobang-0.0.1-SNAPSHOT.jar文件中的META-INF/MANIFEST.MF文件,检查是否有Main-Class属性。
  • 如果找不到该文件或属性缺失,就创建或修改这文件。

手动添加清单文件:创建的MANIFEST.MF文件内容应该像这样:

如果不使用构建工具,可以手动创建一个MANIFEST.MF文件,并将其放置在META-INF目录下。

1Main-Class: com.example.MainClass
2Manifest-Version: 1.0

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据加密-AES数据加密及C#实现
  • 为什么在网页编辑文字时键盘输入换行要停顿一下网页才显示
  • MaxKB:基于 LLM大语言模型的知识库问答系统实操
  • 部署服务器项目及发布
  • Spring统一处理请求响应与异常
  • QT 布局管理器之QHBoxLayout
  • C语言(16)指针(iv)
  • 当科幻照进现实:Figure 02机器人震撼发布!
  • 2024网络安全必会的基础知识
  • 【Linux】系列入门摘抄笔记-5-管理、创建、移动文件目录及文件搜索命令
  • 详解高性能中间件Iceoryx在ROS2中的使用
  • 【大模型从入门到精通13】openAI API 构建和评估大型语言模型(LLM)应用1
  • Chapter 30 多态
  • 解密 Coretime:Polkadot 区块链资源分配的新革命
  • LVS实验的三模式总结
  • [PHP内核探索]PHP中的哈希表
  • emacs初体验
  • es6--symbol
  • ES6语法详解(一)
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript异步流程控制的前世今生
  • java中的hashCode
  • JSDuck 与 AngularJS 融合技巧
  • leetcode98. Validate Binary Search Tree
  • PAT A1017 优先队列
  • Python打包系统简单入门
  • windows下mongoDB的环境配置
  • 创建一种深思熟虑的文化
  • 力扣(LeetCode)56
  • 码农张的Bug人生 - 初来乍到
  • 一天一个设计模式之JS实现——适配器模式
  • 用quicker-worker.js轻松跑一个大数据遍历
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • Java总结 - String - 这篇请使劲喷我
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (3) cmake编译多个cpp文件
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (篇九)MySQL常用内置函数
  • (三)elasticsearch 源码之启动流程分析
  • 、写入Shellcode到注册表上线
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net 基于MiniExcel的导入功能接口示例
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET中winform传递参数至Url并获得返回值或文件
  • .pop ----remove 删除
  • @Bean, @Component, @Configuration简析