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

Posted 菜鸟程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java运行jar命令提示没有主清单属性相关的知识,希望对你有一定的参考价值。

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

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

技术图片
 

工具/原料

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

方法/步骤

  1.  

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

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

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

  2.  

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

    所以才造成这样的问题。

  3.  

    解决这个问题的方法就是要在MANIFEST.MF文件中添加一个入口类。

    即需要一个Main-Class定义行。更详细的MANIFEST.MF文件定义说明,请参考官方MANIFEST.MF文件定义手册。

    下面是一个完整的详细的MANIFEST.MF文件信息

    技术图片
  4.  

    对于这种问题的解决办法网络上各种说法呀。小编只能用无语来形容,这个问题的最更本原因就如提示一样,没有主清单属性。

      所以,解决办法很简单。就是在MANIFEST.MF添加入口。

    首先找到你的jar文件。

    技术图片
  5.  

     

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

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

    技术图片
  6.  

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

    技术图片
  7.  

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

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

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

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

    技术图片
  8.  

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

    技术图片
  9.  

    这时候提示,是否更新。点击

    技术图片
  10.  

    到这里我们再次执行一切OK

    技术图片

以上是关于java运行jar命令提示没有主清单属性的主要内容,如果未能解决你的问题,请参考以下文章

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

jar命令成功完成 java -jar 命令却提示“没有主清单属性”!

jar命令成功完成 java -jar 命令却提示“没有主清单属性”!

在JAVA中将class文件编译成jar文件包,运行提示没有主清单属性

SpringBoot项目jar包命令行部署运行时提示“没有主清单属性”问题

运行 java jar - 没有主清单属性错误