java.lang.IllegalAccessError:试图从类javax.crypto.Cipher访问类javax.crypto.Cipher$Transform

java.lang.IllegalAccessError:试图从类javax.crypto.Cipher访问类javax.crypto.Cipher$Transform,java,encryption,Java,Encryption,我正在尝试使用AES解密字符串,并使用jce.jar进行解密 我有下面的方法来解密 public String decrypt(String strToDecrypt) { try { Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING"); cipher.init(Cipher.DECRYPT_MODE, secretKey); setDecr

我正在尝试使用AES解密字符串,并使用jce.jar进行解密

我有下面的方法来解密

 public String decrypt(String strToDecrypt) {
        try {
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDING");
            cipher.init(Cipher.DECRYPT_MODE, secretKey);
            setDecryptedString(new String(cipher.doFinal(Base64
                    .decodeBase64(strToDecrypt))));
        } catch (Exception e) {
            System.out.println("Error while decrypting: " + e.toString());
        }
        return null;
    }
但在尝试解密时,我得到了以下错误

java.lang.IllegalAccessError: tried to access class javax.crypto.Cipher$Transform from class javax.crypto.Cipher
我使用的是java_sdk_1.7.0版本。
我的sdk版本有问题吗?有人知道这个吗?

这个加密错误是由于jms和openjdk中的jce.jar冲突造成的。通过在standalone.xml中注释掉这一行,问题得以解决:

<--module name="org.jboss.genericjms.provider" slot="main"-->


javax.crypto.Cipher
应该包含在JDK1.7中。为什么要添加jce.jar?我使用的是JDK1.7中包含的同一个jce.jar。它在websphere上正常运行,但在openshift jboss上没有。我必须为此配置jboss吗?