ExceptionInInitializerError - JBoss 7.0.2

时间:2012-07-25 22:31:35

标签: jboss7.x

最近,我们从BO XI 3.1迁移到BO 4.0和JBoss 7.0.2 app服务器。我目前正在追踪异常:

14:53:44,256 ERROR [stderr] (Thread-25) Exception in thread "Thread-25" java.lang.ExceptionInInitializerError
14:53:44,256 ERROR [stderr] (Thread-25)         at com.businessobjects.bcm.BCM.<clinit>(BCM.java:1144)
14:53:44,271 ERROR [stderr] (Thread-25)         at com.crystaldecisions.enterprise.ocaframework.BCMInitializer.run(BCMInitializer.java:29)
14:53:44,271 ERROR [stderr] (Thread-25)         at java.lang.Thread.run(Thread.java:619)
14:53:44,271 ERROR [stderr] (Thread-25) Caused by: java.lang.SecurityException: Toolkit not encapsulated by a jar.
14:53:44,271 ERROR [stderr] (Thread-25)         at com.rsa.cryptoj.f.ug.d(Unknown Source)
14:53:44,271 ERROR [stderr] (Thread-25)         at com.rsa.cryptoj.f.ug.b(Unknown Source)
14:53:44,271 ERROR [stderr] (Thread-25)         at com.rsa.cryptoj.f.nd.b(Unknown Source)
14:53:44,271 ERROR [stderr] (Thread-25)         at com.rsa.cryptoj.f.nd.c(Unknown Source)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1) 25 Jul 2012 14:53:44,271 TANL ERROR [http--0.0.0.0-7005-1] meta.AnalyticsMetaDataServiceImpl: Failed to connect to provider server: Could not initialize class com.businessobjects.bcm.BCM
14:53:44,271 ERROR [stderr] (Thread-25)         at com.rsa.jsafe.CryptoJ.isFIPS140Compliant(Unknown Source)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1) java.lang.NoClassDefFoundError: Could not initialize class com.businessobjects.bcm.BCM
14:53:44,271 ERROR [stderr] (Thread-25)         at com.businessobjects.bcm.internal.BcmRsaLib.initialize(BcmRsaLib.java:214)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.TrustedPrincipal.getRandomString(TrustedPrincipal.java:253)
14:53:44,271 ERROR [stderr] (Thread-25)         at com.businessobjects.bcm.internal.BcmRsaLib.<clinit>(BcmRsaLib.java:289)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.TrustedPrincipal.getPassword(TrustedPrincipal.java:196)
14:53:44,271 ERROR [stderr] (Thread-25)         ... 3 more
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody22(SessionMgr.java:853)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody20(SessionMgr.java:821)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody21$advice(SessionMgr.java:512)
14:53:44,271 INFO  [stdout] (http--0.0.0.0-7005-1)      at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)

似乎是由于JBoss 7.0.2中类重载方法的改变。 有谁能提供我们如何在JBoss 7.0.2中实现类重载优先级?

2 个答案:

答案 0 :(得分:4)

从RSA库引发错误。我可以通过使用dswsbobje.war(BO 4.0中的一个Web应用程序)作为示例向您展示如何解决此问题。以下是步骤:

  1. 创建一个名为com.rsa的模块。请参阅this link中的模块示例rsa_module.zip。
  2. 在\ modules \ com
  3. 下创建一个rsa \ main目录
  4. 解压缩rsa_module.zip并将文件放在\ modules \ com \ rsa \ main
  5. 从dswsbobje获取爆炸的dswsbobje并删除与RSA相关的罐子(其中3个)(它们是您在上面的步骤中放入的...... \ rsa \ main)
  6. 创建一个jboss-deployment-structure.xml文件(从步骤1中的链接获取此文件)并将其放在dswsbobje的WEB-INF目录下。
  7. 重新创建dswsbobje.war
  8. 部署更新的war文件

答案 1 :(得分:1)

对此有一个很明智的解决方案。只需使用以下参数运行JBoss:

•-Djboss.vfs.forceCaseSensitive = true •-Djboss.vfs.forceVfsJar = true

马里乌什