1

最近、BO XI 3.1 から BO 4.0 および JBoss 7.0.2 アプリ サーバーに移行しました。現在、次の例外が発生しています。

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 でクラスのオーバーロードの優先順位を達成する方法を教えてください。

4

2 に答える 2

4

エラーは RSA ライブラリからスローされます。例として dswsbobje.war (BO 4.0 の Web アプリの 1 つ) を使用して、この問題を解決する方法を説明できます。手順は次のとおりです。

  1. com.rsa というモジュールを作成します。このリンクからモジュール サンプル rsa_module.zip を参照してください。
  2. \modules\com の下に rsa\main ディレクトリを作成します。
  3. rsa_module.zip を解凍し、\modules\com\rsa\main の下にファイルを配置します。
  4. 分解された dswsbobje を取得し、dswsbobje から RSA 関連の jar (3 つ) を削除します (これらは、上記の手順で ...\rsa\main に入れたものです)。
  5. jboss-deployment-structure.xml ファイルを作成し (ステップ 1 のリンクからこのファイルを取得)、dswsbobje の WEB-INF ディレクトリに配置します。
  6. dswsbobje.war を再作成します。
  7. 更新された war ファイルをデプロイする
于 2012-09-21T19:26:33.260 に答える
1

これにはもっと簡単な解決策があります。以下のパラメーターを指定して JBoss を実行するだけです。 -Djboss.vfs.forceCaseSensitive=true -Djboss.vfs.forceVfsJar=true

于 2015-04-21T13:38:55.633 に答える