专栏首页浩Coding运行jar命令提示:没有主清单属性或者找不到或无法加载主类

运行jar命令提示:没有主清单属性或者找不到或无法加载主类

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

工具/原料

  • 首先确认你是否有文件好java。
  • 电脑需要安装winrar。

方法/步骤

1 、在java中编译JAR文件的时候我们都会用到,jar这个命令。当用着jar 文件时候我们不可少的是cvf这几个参数来生成jar文件。但是用个文件来了,在用不使用工具的前提下我们生成的jar文件包后运行会出现。某某类的没有主清单属性。

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

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

2 、解决办法很简单。就是在MANIFEST.MF添加入口。

首先找到你的jar文件:

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

之后,在双击打开这个文件夹META-INF:

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

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

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

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

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

添加修改好后,关闭记事本。并保存:

解压软件这时候提示,是否更新。点击是:

然后我们再次执行jar包就行。

本文分享自微信公众号 - 浩Coding(gh_c4a2e63d2ca7)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 两程序员玩“锁”,一人抢救无效身亡

    一般喜欢放在数据库来讲(其实这两个概念是属于计算机的,不要被误导),就说mysql吧,悲观锁,主要是表锁,行锁还有间隙锁,叶锁,读锁,因为这些锁在被触发的时候势...

    IT大咖说
  • 设计模式 - 单例模式

    单例模式属于创建型模式,是设计模式中比较简单的模式。在单例模式中,单一的类负责创建自己的对象,同时确保只有单个对象被创建。保证一个类仅有一个实例,并提供一个访问...

    希希里之海
  • 坑爹的 Java 可变参数,把我整得够惨。。

    就是方法参数用 Object... args 三个点形式,一个参数可以接收多个参数。

    Java技术栈
  • 转发(forward)和重定向(redirect)的区别

    转发(Forward) 是通过 RequestDispatcher 对象的 forward(HttpServletRequest request,HttpSer...

    happyJared
  • 干货分享:一次Java内存泄漏排查实战

    不知道是公司网络广了就这样还是网络运维组不给力,网络总有问题,不是这边交换机脱网了,就是那边路由器坏了,还偶发地各种超时,而我们灵敏的服务探测服务总能准确地抓住...

    IT大咖说
  • apidoc实现API文档自动生成

    现在越来越流行前后端分离,使得前后端解耦。前后端的联系来源于数据接口,所以后端每次实现数据接口后都需要给前端写API接口文档,但是每次手写API...

    逆月翎
  • Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!

    Spring Cloud 的注册中心可以由 Eureka、Consul、Zookeeper、ETCD 等来实现,这里推荐使用 Spring Cloud Eure...

    Java技术栈
  • 资深程序员总结:彻底理解Spring容器和应用上下文

    有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协...

    本人秃顶程序员
  • 一个比Spring Boot快44倍的Java框架!

    最近栈长看到一个框架,官方号称可以比 Spring Boot 快 44 倍,居然这么牛逼,有这么神奇吗?今天带大家来认识一下。 这个框架名叫:light-4...

    Java技术栈
  • 2019年,希望所有的程序员都能逃过这些梗……

    作为一个资深的老程序员,我感觉我很有资格说这个话,不管你学的是Java、c++、PHP、安卓、IOS。只要你是程序员,你就绕不开这个梗。

    iOSSir

扫码关注云+社区

领取腾讯云代金券