这两天调试程序,碰到了一个问题。程序在调用log4j打印日志的时候碰到了如下的错误:
java.lang.ExceptionInInitializerError
 at com.company.pub.util.config.ConfigFileHelper.getConfigProperties(ConfigFileHelper.java:60)
 at com.company.team.bean.pub.common.Env.<clinit>(Env.java:375)
 at com.company.team.bean.pub.common.DBean.<init>(DBean.java:114)
 at com.company.team.bean.pub.common.DBean.main(DBean.java:565)
Caused by: java.lang.SecurityException: class "org.apache.log4j.PropertyConfigurator"'s signer information does not match signer information of other classes in the same package
 at java.lang.ClassLoader.checkCerts(ClassLoader.java:611)
 at java.lang.ClassLoader.defineClass(ClassLoader.java:532)
 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
 at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
 at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
 at com.company.team.bean.pub.common.Log.<clinit>(Log.java:37)
 ... 4 more
 
 一、网络搜索解决办法
   在网上搜了两天,问题结论很多:
     1、是JAR包冲突所致,也就是说引了两个相同的包(我的理解)。
     2、LOG4J的jar包坏掉了,换一个新的,
     3、MyEclipse6.0的BUG
     4、JDK1.3的 BUG
    虽然很多类似的帖子,但是没有一个是在这个类上报错的。我的问题很小众。
    
 二、分析并解决
     我用的是MyEclipse5.0,JDK1.4所以下面两项排除。
     1、首先找个简单的做,重新找了一个log4j-1.2.8.jar覆盖,问题依旧。
        再找一个试下log4j-1.2.5.jar,重新引入,恐怖的事情来了,重新引入eclipse要全部重新编译一遍,
        每次都耗费我近一个小时,CPU100%,什么都做不了,郁闷死我了。 更郁闷的是问题还是没有解决。
    
     2、我的LIB里面只引入了一个log4j-1.2.8.jar,不存在冲突的问题啊。搜索org.apache.log4j.PropertyConfigurator
        一样只在log4j-1.2.8.jar包出现过一次。       
        已经不知道怎么回事了,找出原来版本工程,经过几个版本的尝试,终于一个版本可以正确调试。查看引入的包,一
        样只有log4j-1.2.8.jar一个包,拷到有问题的工程里,错误没有解决。前几天心血来潮把工程的JDK指向了1.4,难道
        是JDK有问题?
    
     3、切换问题工程的JDK,又是全编译,唉。可问题还是依旧,FUCK。
    
     4、所有的都排除了,问题就是出现在所引入的jar包上了,可以怎么搜索也之能找到一个PropertyConfigurator类。
        好吧,本人还有笨方法,原谅我吧,我是不称职的开发人员。将两个工程的JAR包比对,发现问题工程里面少了一些,
        尝试补充上去,全编译-_-||,问题依旧。将原来的包备份,将所有的包覆盖。哦,我的上帝,终于可以正常运行了。
        问题到这里并没有完全结束,到底是哪个包导致的呢?
        还是笨方法逐个包覆盖,终于定位到问题的包。但是这个包的名字让我很费解jftp.jar,没什么关系么。看看里面吧,
        谁这么没人性,竟然里面有org.apache.log4j完整的类目录,谁放进去的啊,变态。更变态的是里面的类不是全部的
        类而只有部分,这也就是报org.apache.log4j.PropertyConfigurator而只能搜索到一个的原因。
        冲突可能是因为log4j首先调用了jftp.jar包中log4j用到的文件,到调用PropertyConfigurator时候确实调用log4j-1.2.8.jar
        中的类导致签名冲突。
       
      问题总算解决了,问题很小众,也许对其他人没有什么帮助,因为很少有项目的前辈把jftp.jar变成这样,无语。

遂写此文,纪念我不放弃但是放弃时间的两天。

原文地址:http://blog.csdn.net/strawbingo/article/details/2474790

signer information does not match问题解决相关推荐

  1. java.lang.SecurityException: signer information does not match signer information

    场景:  有一个jar包,无源码,反编译查看到, jar包中的某个class流程存在问题, 于是继承相应的类, 然后将继承的class也放入jar包中,但是实际访问jar包对应的class中的方法时, ...

  2. xxxxxxxxxsigner information does not match signer information of other classes in the same package

    Maven 在static 方法下测试没问题,请求正常,但是服务启动后出现错误信息. 在发起请求时抛出异常信息"xxxxxxxxx"signer information does ...

  3. 关于碰到优盘插入电脑检测到病毒并且优盘里文件只显示System Volume Information文件夹的问题解决。

    关于碰到优盘插入电脑检测到病毒并且优盘里文件只显示System Volume Information文件夹的问题解决. 我曾经也碰到过优盘没怎么用过,去了一趟打印店,之后突然发现插到电脑上,电脑检测到 ...

  4. Eclipse6里面SSH整合说明

    我用MyEclipse6.0做SSH工程出现的几个问题和解决办法. MyEclipse6.0开发SSH工程问题解决办法 1. 正常建工程,倒入Struts1.1,Spring2.0,Hibernate ...

  5. 大数据组件需要额外添加的依赖包汇总(持续更新中)

    现在FLINK已经被阿里收购了,所以会有blink的jar包 大数据组件 依赖包来源 具体的依赖包 Hadoop3.1.2 用户添加 javax.ws.rs-api-2.0-m11.jar jerse ...

  6. JAVA Junit error java.lang.SecurityException: class junit.framework.JUnit4TestCaseFacade

    运行junit4时报错: java.lang.SecurityException: class "junit.framework.JUnit4TestCaseFacade"'s s ...

  7. 单元测试JUnit 4 (一)——keeps the bar green to keeps the code clean

    1. 导读 Junit是一个可编写重复测试的简单框架,是基于Xunit架构的单元测试框架的实例.Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写tes ...

  8. SSH 框架 没加commons-beanutils-1.7.0.jar包的错误提示

    这个问题啊,是你的Jar包有问题,我刚学这个的时候也碰到过,你下载一个新的Jar包,放在你的WebRoot文件夹里的lib文件下,就没有问题了.那个Jar包的名字是"commons-bean ...

  9. 帆软报表,异常问题汇总

    164.导出excel 0kb 内存不够或者磁盘空间不足 163.Unresolvable Operation:mobile in class ReportDispatcher 排除jar包和插件影响 ...

最新文章

  1. 服务器拷贝文件提示ms-dos功能无效,win7系统复制文件提示“MS-DOS功能无效”的解决方法...
  2. roslyn生成html,Visual Studio 2017 bin \ roslyn文件在生成期间被锁定
  3. Ubuntu之Gitlab、Gerrit、Jenkins协调工作配置
  4. 游戏设计模式——面向数据编程思想
  5. 分布式系统优势及衡量指标
  6. js插件 ajax跨域,ajax跨域问题
  7. Swift5关于根据一个frame得到最大X值和最大Y值
  8. python读压缩文件内容_Python读写压缩文件的方法
  9. 【Kafka】Kafka 修改某个消费组的偏移量
  10. 将字典直接写入文件,出现中文乱码问题
  11. 使用jQuery写一个简单的轮播图(笔记)
  12. python 取字符串的最后一位_python中获得一个字符串最后出现位置 | 学步园
  13. apache log分析
  14. 京东后台图片优化技巧
  15. [渝粤教育] 山东工商学院 电机与拖动基础 参考 资料
  16. 我的关于 **Mermaid** 语法
  17. 净览杏蚜诰接煤檀郊炎
  18. 企业级网络架构—云平台高可用网络的修炼之道
  19. oracle aix迁移到x86,Oracle采用XTTS从小机迁移X86平台时,system/SYSAUX中的表如何迁移...
  20. 利用随机森林填补缺失值

热门文章

  1. 查询操作系统的版本,CPU序列号以及操作系统所在的SN
  2. Andriod 显式启动、隐式启动练习简析
  3. 【框架篇】Mybatis的内置方法,撸代码更快捷~~
  4. i386和X86_64各是什么意思
  5. 网页加载很慢时如何分析原因
  6. ❤黑苹果傻瓜式安装(小白秒懂2021最新版:值得收藏)
  7. linux 解压tgz文件
  8. 【FXCG】人民币中间价报6.3401,下调58点
  9. 浅谈软件供应链安全治理与应用实践
  10. 苹果邮箱imap服务器,IOS系统IMAP邮箱设置