java jar 没有主清单_java运行jar命令提示没有主清单属性

java jar 没有主清单_java运行jar命令提示没有主清单属性在 JAVA 中将 class 文件编译成 jar 文件包 运行提示没有主清单属性 这是怎么回事 今天来教大家如何解决这个问题 1 在 java 中编译 JAR 文件的时候我们都会用到 jar 这个命令 当用着 jar 文件时候我们不可少的是 cvf 这几个参数来生成 jar 文件 但是用个文件来了 在用不使用工具的前提下我们生成的 jar 文件包后运行会出现 某某类的没有主清单属性 如下图 2 这样的问题是因为 jar 包中的 META

在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性。这是怎么回事?

今天来教大家如何解决这个问题

1、在java中编译JAR文件的时候我们都会用到,jar这个命令。

当用着jar 文件时候我们不可少的是cvf这几个参数来生成jar文件。

但是用个文件来了,在用不使用工具的前提下我们生成的jar文件包后运行会出现。某某类的没有主清单属性。如下图:

d7a745ba1b2bc2d9e745bfd7226e8c06.png

2、这样的问题是因为,jar包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。这里说明一下MANIFEST.MF就是一个清单文件,通俗点将就相当于WINDOWS中ini配置文件。用来配置程序的一些信息,所以才造成这样的问题。

3、解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。即需要一个Main-Class定义行。更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。

下面是一个的MANIFEST.MF文件信息:

ce4621b14bb1bccd12d17165c64657e6.png

这个问题的最更本原因就如提示一样,没有主清单属性。所以解决办法很简单。就是在MANIFEST.MF添加入口。首先找到你的jar文件

d69649760e3f33e16ff04a1114038934.png

之后双击打开jar文件,你的电脑需要安装有winrar。或者其他压缩工具。 之后,再双击打开这个文件夹META-INF

2fc6190ad1d5909e4aba345de3568eb6.png

再选择MANIFEST.MF文件,用记事本打开它

095d500bd9d6a4a85a2ee3fcf9a38f83.png

现在看看文件中是否有Main-Class这样一行文字,如果没有的话那么添加一行。

Main-Class: gui 这里的gui是你的xxx.java文件编译后的xxx.class文件稍微名称。但是不要加.class后缀。

如果有的话,那么看下Main-Class: gui 这后面的名称是否和你的class文件名称一致。不一致请改回来。

注:这里Main-Class:要空一格写上你的class文件名。如果你没有空格的话,还是问题是解决不了的。

a716004766573304d9ae709427ffa74f.png

修改后,并保存,再次执行,一切OK。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232022.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsonfield注解不生效(write javabean error fastjson)

    @jsonfield看源码它可以作用于字段和方法上。引用网上说的,一、作用field@jsonfield作用在field时,其name不仅定义了输入key的名称,同时也定义了输出的名称。但是我在使用中,发现并不如上所说。例如@jsonfield(name=”project_id”)privatelongprojectid发现bean转json的时候并是”project_id”:xxx的形式,…

    2022年4月17日
    66
  • excel截取中间字符串函数_java截取指定字符串

    excel截取中间字符串函数_java截取指定字符串应用场景办公过程中需要使用某一单元格内的特定部分,因此需要对字符串进行截取操作。例如单元格内容是这样的:AAA\aaa我们需要的内容是这样的:aaaExcel实现函数部分如下:=RIGHT(A1,LEN(A1)-FIND(“\”,A1,1))==========================================================个人能力有限,如有谬误欢迎指正!…

    2025年6月15日
    4
  • sql语句面试经典50题_sql基础知识面试题

    sql语句面试经典50题_sql基础知识面试题目录​SQL基础知识整理:常见的SQL面试题:经典50题三、50道面试题2.汇总统计分组分析3.复杂查询sql面试题:topN问题4.多表查询【面试题类型总结】这类题目属于行列如何互换,解题思路如下:其他面试题:SQL基础知识整理:select查询结果如:[学号,平均成绩:组函数avg(成绩)]from从哪张表中查找数…

    2022年4月20日
    50
  • 在 Word 中插入域代码并设置域代码的格式(转)「建议收藏」

    在 Word 中插入域代码并设置域代码的格式(转)「建议收藏」MicrosoftOfficeWord中的域用作文档中可能会改变的数据的占位符,并用于在邮件合并文档中创建套用信函和标签。这些种类的域也称为域代码,它们不同于那些用于输入信息的域类型,如在表单上。有关向文档中添加表单域的信息,请参阅创建打印表单、创建用户在Word中填写的表单或在Word中制作核对清单使用特定命令时(如插入页码时、插入封面等文档构建基块时或创建目录时),…

    2022年5月1日
    949
  • android之通过Button的监听器往adapter中添加数据时出错

    本来源代码如下: List model; //自定义的一个List数据,存储的是自定义的类 LunchListAdapter adapter;//自定义的一个ListView的适配器 ……//省略class onSavaLis implements OnClickListener{ //Button s

    2022年3月10日
    42
  • 加壳工具对比

    加壳工具对比哪个最难脱,哪个最难破? 哪个激活成功教程平均耗时最久? 最贵的DNGuard,企业版5k+,走遍天下无敌手? 多选投票:(最多可选3项),共有119人参与投票投票已经结束1.DNGuard企业版3.72 51.09%(70) 2..NETReactor5.0 22.63%(31) 3….

    2022年6月27日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号