Java JBOSS EAP 6.2.2 IOUtil.s的Apache公共IO Singer错误
我有一个使用Apache Common IO 2.4版的web应用程序。在JBOSS 6.2.2上部署此应用程序时,出现以下错误: 未能在模块中定义类org.apache.commons.io.IOUtils 服务模块加载器中的“deployment.MyApp.war:main”: java.lang.SecurityException:类“org.apache.commons.io.IOUtils” 签名者信息与其他类的签名者信息不匹配 一模一样 由于此错误,类加载器不会加载该类,因此在运行时会得到NoClassDefFoundError:org/apache/commons/io/IOUtils。我不确定如何解决这个问题,因为这个jar是从Apache基金会发布的。 我对JDK附带的jarsinger进行了快速检查,结果如下所示 jar没有签名。(签名缺失或不可解析) 我正在运行的命令: jarsigner-验证commons-io-2.4.jarJava JBOSS EAP 6.2.2 IOUtil.s的Apache公共IO Singer错误,java,apache,jboss,classloader,jboss6.x,Java,Apache,Jboss,Classloader,Jboss6.x,我有一个使用Apache Common IO 2.4版的web应用程序。在JBOSS 6.2.2上部署此应用程序时,出现以下错误: 未能在模块中定义类org.apache.commons.io.IOUtils 服务模块加载器中的“deployment.MyApp.war:main”: java.lang.SecurityException:类“org.apache.commons.io.IOUtils” 签名者信息与其他类的签名者信息不匹配 一模一样 由于此错误,类加载器不会加载该类,因此在运行
以前有人面对过这个问题吗?我确实看到过几次邮件堆栈溢出,但似乎没有一个解决这个问题 当从不同的类加载器加载属于同一个包的类,并且加载的jars文件具有使用不同证书签名的签名时,或者在您的情况下,至少有一个已签名,而另一个或多个未签名时,就会发生这种情况
在JBoss EAP 6.2 commons io由服务器提供的情况下,请尝试从您的war中删除
commons io
jar。谢谢..奇怪的是,这种情况只发生在RHEL盒上。不在Windows上flavor@ChetanJBoss EAP附带的JAR文件由Red Hat进行数字签名。在Windows安装中似乎不会发生这种情况。