美文网首页
没有主清单属性

没有主清单属性

作者: 杜子龙 | 来源:发表于2018-11-07 21:18 被阅读0次
今天遇到一个问题,java程序在idea中可以正常运行,但是一打包通过java -jar的方式就会运行报错, image.png 查阅了半天网上资料,发现是jar包中的META-INF/MANIFEST.MF文件缺少默认运行的Main类,然后就是手动加上运行的类(Main-Class属性), image.png 这里需要严格按照这个格式来写,也就是Main-Class:后面有空格,包名+类名,类名后不加.class,最后要换行。
一般情况,按照上诉操作之后,是可以通过jar包正常运行,但是由于jar中引用了3方jar包,导致出现另外的错误。

出现这个错误的原因其实很简单,就是没有把3方jar包一并打入待运行jar包,解决方案如下:
在刚才的META-INF/MANIFEST.MF文件中再添加一行配置,Class-Path: lib/fastjson-1.2.28.jar,多个3方jar包之间用空格,这里格式严格同上。最后在待运行jar包的同级目录下新建lib文件夹,用来存放需要的3方jar包。
最后这并不是一个一劳永逸的办法,太麻烦了。可以直接在pom文件中添加一个SpringBoot构建的插件,重新打包编译即可。

<build>
  <plugins>
    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
  </plugins>
 </build>

相关文章

网友评论

      本文标题:没有主清单属性

      本文链接:https://www.haomeiwen.com/subject/ilsbxqtx.html