zoukankan      html  css  js  c++  java
  • java运行jar命令提示没有主清单属性

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

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

    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文件信息:


    这个问题的最更本原因就如提示一样,没有主清单属性。所以解决办法很简单。就是在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文件名。如果你没有空格的话,还是问题是解决不了的。


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

  • 相关阅读:
    初识python 2.x与3.x 区别
    装饰器
    函数的进阶
    Spring Boot启动问题:Cannot determine embedded database driver class for database type NONE
    22.Spring Cloud Config安全保护
    23.Spring Cloud Bus 无法更新问题(踩坑) Spring cloud config server Could not fetch remote for master remote
    24.Spring Cloud之Spring Cloud Config及Spring Cloud Bus
    Spring Boot整合Spring Data Elasticsearch 踩坑
    项目中Spring Security 整合Spring Session实现记住我功能
    32.再谈SpringBoot文件上传
  • 原文地址:https://www.cnblogs.com/beautiful-code/p/6442842.html
Copyright © 2011-2022 走看看