Java 6 バージョンを使用してコンパイルされたサードパーティの Java パッケージがあり、このパッケージは Java 8 環境にデプロイされています。現在、実行時に次の例外が発生しています。
Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: sun/security/x509/CertAndKeyGen
at com.xxx.ws.security.impl.DefaultSecurityStore.generateSelfSignedEntry(Unknown Source)
at com.xxx.ws.security.impl.SecurityPluginUtil.sign(Unknown Source)
at com.xxx.ws.security.impl.ProcessingContext.processOutbound(Unknown Source)
at com.xxx.ws.security.impl.BaseSecurityEnvironment.secureOutboundMessage(Unknown Source)
at com.xxx.em.launch.message.LaunchRequestMessage.sendTo(Unknown Source)
この例外について調査したところ、Java 8 がCertAndKeyGen
クラスをsun.security.tools.keytool
パッケージに移動したことがわかりました。ただし、この場合、このパッケージは Java 6 を使用してコンパイルされ、sun.security.x509.CertAndKeyGen
パッケージを参照しています。この問題を軽減するための代替アプローチは何ですか。. 御時間ありがとうございます。