当前位置: 首页 > 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

相关文章:

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

所以,哥们,又出现问题咯.没事,我也出现了,哈哈哈哈哈,csdn感觉太麻烦了,所以搞了一篇这个. 没得事,往下看,包解决的. 希望可以帮助到各位&#xff0c;感谢阅览&#xff01; 小手点个赞&#xff0c;作者会乐烂哈哈哈哈哈哈&#x1f606;&#x1f606;&#x1f606;&#x1f606…...

部分控件的setText文案没有出现在retranslateUi()中,多语言切换不生效问题

问题&#xff1a;在designer中设计UI&#xff0c;我从其他ui文件copy了部分控件&#xff0c;新ui文件重新编译生成后&#xff0c;setText&#xff08;&#xff09;并没有出现在新文件的retranslateUi()函数中&#xff0c;导致多语言切换不生效。 void retranslateUi(QWidget * …...

ubuntu系统下安装LNMP集成环境的详细步骤(保姆级教程)

php开发中集成环境的安装是必不可少的技能,而LNMP代表的是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。今天就给大家分享下LNMP的安装步骤。 1 Nginx安装 在安装Nginx前先执行下更新命令: sudo apt-get update 接下来开始安装Nginx, 提示:Could not get lock /v…...

化繁为简:揭秘中介者模式在Java设计中的魅力与力量

中介者模式是一种行为型设计模式&#xff0c;它通过引入一个中介者对象来简化多个对象之间的交互&#xff0c;从而降低它们之间的耦合度。在Java设计模式中&#xff0c;中介者模式扮演着重要的角色&#xff0c;特别是在处理复杂系统模块间的交互时。下面对Java设计模式之中介者…...

Postgresql导入矢量数据

前期准备 工具&#xff1a;PgAdmin&#xff0c;postgis-bundle Postgres安装和postgis安装可以百度别的教程。 创建数据库添加扩展 如图&#xff0c;使用PgAdmin创建名为shp的数据库&#xff0c;并在扩展item中添加postgis扩展。 添加扩展方法可以用查询工具输入以下sql语句&…...

二叉树拙见

1.树的概念及结构 1.1树的概念&#xff1a; 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 &#xff0…...

APT 组织 Kimsuky 瞄准大学研究人员

执行摘要 Kimsuky 是一个朝鲜 APT 组织&#xff0c;其任务是执行符合朝鲜政府利益的全球情报收集行动。该组织自 2012 年以来一直活跃&#xff0c;对韩国智库和政府实体特别感兴趣&#xff1b;然而&#xff0c;它也针对美国、英国和其他欧洲国家。Kimsuky 擅长进行有针对性的网…...

Golang | Leetcode Golang题解之第327题区间和的个数

题目&#xff1a; 题解&#xff1a; import "math/rand" // 默认导入的 rand 不是这个库&#xff0c;需要显式指明type node struct {ch [2]*nodepriority intkey intdupCnt intsz int }func (o *node) cmp(b int) int {switch {case b < o.k…...

Django5实战

一、安装&#xff1a; 1、安装Django环境&#xff1a; # 安装 pip install django5.0.3# 验证 5.0.3 python -m django --version 安装慢的解决方法&#xff1a;使用阿里云的镜像源 pip install -i https://mirrors.aliyun.com/pypi/simple django5.0.3 2、创建项目&#…...

网址管理功能 Webstack

前言 在工作生活中大家可能会收集各种网址地址&#xff0c;大部分同学都是通过浏览器标签进行管理。如果你换电脑或者电脑不再身边的时候就有些不方便了。接下来我要向大家推荐一个工具&#xff1a;在线网址导航。 CNS学术导航 大家通过搜索引擎可以很方便的搜索到各种网址导航…...

【热工与工程流体力学】第1章 流体及其主要物理性质,流体的粘性,压缩性,流体的质量力和表面力(西北工业大学)

第1章 流体及其主要物理性质 一、流体力学概述 二、流体力学发展简史 三、本课程的教学计划 四、连续介质模型 五、流体的主要物理性质 六、作用在流体上的力 七、本课程中使用的单位制 一、流体力学概述 1.流体的概念 在任何微小剪应力持续作用下连续变形的物质称为流…...

TCP和UDP区别,各自的应用场景

区别 是否基于链接 TCP是面向连接的协议&#xff0c;发送数据之前需要建立连接&#xff1b;而UDP是无连接的协议&#xff0c;即发送数据之前不需要简历连接。 可靠性和有序性区别 TCP提供交付保证&#xff0c;&#xff08;TCP通过校验和重传控制&#xff0c;序号表示&#xff…...

Java开发工具IDEA

IDEA概述 Intellij IDEA IDEA全称Intellij IDEA&#xff0c;是用于Java语言开发的集成环境&#xff0c;它是业界公认的目前用于Java程序开发最好的工具。 集成环境 把代码编写&#xff0c;编译&#xff0c;执行&#xff0c;调试等多种功能综合到一起的开发工具。 IDEA下载和安…...

VIVADO IP核之DDS直接数字频率合成器使用详解

VIVADO IP核之DDS直接数字频率合成器使用详解 目录 前言 一、DDS基本知识 二、DDS IP核使用之SIN COS LUT only 三、DDS IP核之SIN COS LUT only仿真 四、DDS IP核使用之Phase Generator and SIN COS LUT 五、DDS IP核之Phase Generator and SIN COS LUT仿真 总结 前言 …...

Vue3 插槽 使用笔记

Vue3 插槽 使用笔记 介绍 在 Vue 3 中&#xff0c;插槽&#xff08;Slot&#xff09;是一个非常强大的特性&#xff0c;它允许我们更好地组织和重用组件。通过定义插槽&#xff0c;子组件可以预留出由父组件控制的区域&#xff0c;这样父组件就可以向这些区域填充自己的内容。…...

Vue2与Vue3响应式原理对比

Vue2.x 响应式原理 Vue2.x 响应式&#xff1a; 实现原理 对象类型&#xff1a;通过 Object.defineProperty() 对属性的读取、修改进行拦截( 数据劫持 )数组类型&#xff1a;通过重写数组方法&#xff0c;并作为拦截器挂载到数组对象与数组原型之间&#xff0c;来实现拦截。 存在…...

Android系统Android.bp文件详解

文章目录 1. 基本语法结构2. 常见模块类型3. 模块属性常见属性包括&#xff1a; 4. 具体示例5. 高级功能5.1. 条件编译5.2. 变量定义与使用5.3. 模块继承 6. 总结 Android.bp 是 Android 构建系统&#xff08;Android Build System&#xff09;中的配置文件&#xff0c;用于描述…...

eNSP 华为静态路由配置

R1&#xff1a; <Huawei>system-view [Huawei]sysname R1 [R1]int g0/0/0 //进入g0/0/0端口 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 //给端口配置IP地址和子网掩码 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip addr…...

Type-C PD芯片:引领智能充电与数据传输的新时代

随着科技的飞速发展&#xff0c;智能设备已经成为我们日常生活中不可或缺的一部分。无论是智能手机、平板电脑、笔记本电脑&#xff0c;还是智能家居设备&#xff0c;都需要高效、安全、便捷的充电与数据传输解决方案。在这样的背景下&#xff0c;Type-C PD&#xff08;Power D…...

天气查询 免费

免费的前提是需要有高德地图key 前去申请一个key 调用IP查询 | 高德控制台 ------ 申请key之后调用下面的接口或者查看官方文档 api地址&#xff1a; restapi.amap.com/v3/weather/weatherInfo 天气查询-基础 API 文档-开发指南-Web服务 API | 高德地图API 参数名 含义 规…...

VC 与 VS(visual studio) 的对应版本

VC 与 VS 对应版本的关系&#xff1a; VC9&#xff1a;对应的是 Visual Studio 2008 版本。在这个版本中&#xff0c;开发环境提供了一系列的新特性和改进&#xff0c;为开发者提供了更高效的编程体验。例如&#xff0c;增强了对 C 标准的支持&#xff0c;优化了调试工具等。 …...

Qt使用lupdate工具生成.ts文件

Qt提供了lupdate工具&#xff0c;用于从源代码中提取需要翻译的字符串【1】&#xff0c;并生成或更新.ts文件 注解【1】&#xff1a;使用tr()函数&#xff08;或者QCoreApplication::translate()等其他相关的翻译函数&#xff09;来标记所有需要翻译的文本。例如&#xff1a; …...

编程-设计模式 1:工厂方法模式

设计模式 1&#xff1a;工厂方法模式 定义与目的 定义&#xff1a;工厂方法模式定义了一个创建对象的接口&#xff0c;但允许子类决定实例化哪一个类。工厂方法让一个类的实例化延迟到其子类。目的&#xff1a;提供一种方式来封装对象创建的过程&#xff0c;使得客户端不需要…...

Linux 快速构建LAMP环境

目录 部署方式&#xff1a; 基础环境准备&#xff1a; 1.安装Apache服务 &#xff08;1&#xff09;安装Apache &#xff08;2&#xff09;安装一些Apache的扩展包 2.安装PHP语言 &#xff08;1&#xff09;下载php软件仓库 &#xff08;2&#xff09;指定php安装版本…...

【C/C++】语言基础知识总复习

文章目录 1. 指针1.1 数组和指针1.2 函数指针1.3 const 和 指针、static、#define、typedef1.4 指针和引用的异同1.5 sizeof与strlen 2. 库函数及其模拟实现3. 自定义类型4. 数据存储5. 编译链接过程6. C入门基础6.1 函数重载6.2 引用和指针6.3 建议使用const、inline、enum去替…...

【漏洞修复】Tomcat中间件漏洞

1.CVE-2017-12615 抓包上传一句话木马 密码passwd 2.后台弱口令部署war包 先用弱口令登录网站后台 制作war包 将172.jsp压缩成.zip文件&#xff0c;修改后缀为.war 上传 蚁剑链接 3.CVE-2020-1938 Python2 CVE-2020-1938.py IP -p 端口 -f 要读取的文件 漏洞修复&#xf…...

10.动态路由绑定怎么做

为什么要动态路由绑定 因为,如果我们的导航栏没有这个权限,输入对应网址,一样可以获取对应的页面,为了解决这个问题,有两种解决方案,一种是动态路由绑定(导航有多少个,就有多少个路由,在路由修改之前,先进行一个导航路由的加载和路由的动态绑定,然后看是否有这个路由,有就跳转…...

操作ArkTS页面跳转及路由相关心得

本文为JS老狗原创。 当前端不得不关注的点&#xff1a;路由&#xff0c;今天聊一聊鸿蒙相关的一点心得。 总体上套路不意外&#xff0c;基本就是&#xff08;尤其是Web&#xff09;前端那些事&#xff1a;维护路由表、跳转带参数、历史堆栈操作&#xff0c;等等。 历史原因&…...

Vue2-低版本编译兼容-基础语法-data-methods-双向数据绑定v-model

文章目录 1.安装编译命令2.低版本兼容3.vue2响应式数据3.1.data定义3.2.双向数据绑定v-model3.3.单向数据绑定v-bind4.方法methods5.子组件向父组件传值6.父组件向子组件传值1.安装编译命令 命令行工具 vue create zhiliaoplugins8824barcodebatch cd zhiliaoplugins8824barc…...

提取“c语言的函数定义“脚本

------------------------------------------------------------ author: hjjdebug date: 2024年 08月 11日 星期日 16:35:31 CST description: 提取c语言的函数定义脚本 ------------------------------------------------------------ c 文件中包含很多函数定义, 我想在每…...