我是靠谱客的博主 笑点低金鱼,最近开发中收集的这篇文章主要介绍no manifiest section for signature file entry 问题解决一、问题描述二、问题分析三、问题解决,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、问题描述

  • 在idea中启动一个小的java程序,没问题,但打成jar包后,运行报错:Error: A JNI error has occurred, please check your installation and try again
    Exception in thread “main” java.lang.SecurityException: no manifiest section for signature file entry com/microsoft/sqlserver/jdbc/InputStreamGetterArgs.class

二、问题分析

  • 就“Error: A JNI error has occurred, please check your installation and try again”错误而言,网上解答说是jdk环境的问题,排查后发现不是。而后部分异常信息“Exception in thread “main” java.lang.SecurityException: no manifiest section for signature file entry com/microsoft/sqlserver/jdbc/InputStreamGetterArgs.class”则可以推测错误出在sqljdbc.jar这个依赖包中,去掉这个包的确可以正常启动(当然有些功能实现不了)

三、问题解决

  • 网上找到了一个解决方案,开始还不太相信(同样的sqljdbc.jar在其他程序可以正常使用;看不懂重新打包有啥作用),但尝试后的确解决了问题。附解决方案如下:
  • 打成的jar包运行出现这个异常,解决:

1、把源sqljdbc.jar驱动解压到sqljdbc目录

2、删除 sqljdbcMETA-INF目录中出mainfest.mf,zigbert.rsa 以外的文件。

3、修改 sqljdbcMETA-INF目录中的mainfest.mf ,保留第一行,其余删除

4、重新打包:进入sqljdbc目录,执行:jar cvf sqljdbc.jar . 注意这最后的一个点号不能掉(有空格)

5、将新打包的文件加入项目工程中即可。

最后

以上就是笑点低金鱼为你收集整理的no manifiest section for signature file entry 问题解决一、问题描述二、问题分析三、问题解决的全部内容,希望文章能够帮你解决no manifiest section for signature file entry 问题解决一、问题描述二、问题分析三、问题解决所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部