0

我正在使用JBOSS EAP 6.1和JDK 1.6。我已将所有依赖项注册为静态模块。我依赖于 JDK api。
在部署期间,我遇到以下问题:
java.lang.NoClassDefFoundError: javax/crypto/CipherInputStream
java.lang.NoClassDefFoundError: org/omg/CORBA/portable/IDLEntity
java.lang.NoClassDefFoundError: javax/swing/ImageIcon

我能够通过创建一个静态模块并在moudle.xml中添加rt.jardes.jar作为资源来解决上述问题,但是我遇到了另一个关于找不到算法的问题。

java.security.NoSuchAlgorithmException:PBEWithMD5AndDES SecretKeyFactory
在 utility.algorithm.DesEncrypter.(DesEncrypter.java:49)
的 javax.crypto.SecretKeyFactory.getInstance(DashoA13*..) 的javax.crypto.SecretKeyFactory.(
DashoA13 *..) )
在实用程序.algorithm.DesEncrypter.decryptStream(DesEncrypter.java:177)

我想添加包括系统中的这些依赖项,而不创建静态模块,如不同论坛上所示。
https://community.jboss.org/thread/195182
https://community.jboss.org/message/717881#717881#717881
我们可以在 EAP 6.1 中执行此操作,还是仅适用于 JBOSS AS 7。有人可以请吗给我看一个 EAP 6.1 的例子。

4

1 回答 1

0

我已经能够解决这个问题。JDK中包含的api在不同的模块中导出,我们需要将这些模块作为依赖包含在我们的模块中。

例如:org/omg/CORBA/portable/IDLEntityorg.omg.api模块中可用。
同样,javax/swing/ImageIconjavax/crypto/CipherInputStreamjavax.api中可用。

于 2013-08-12T06:50:17.117 回答