Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java jasypt突然崩溃_Java_Jasypt - Fatal编程技术网

java jasypt突然崩溃

java jasypt突然崩溃,java,jasypt,Java,Jasypt,从昨天起,我的文本加密机(jasypt)无缘无故停止工作。下面是一个代码示例和错误消息。有人知道发生了什么事吗 代码示例: StrongTextEncryptor crypter = new StrongTextEncryptor(); crypter.setPassword("Password"); crypter.encrypt("Test"); 错误消息: Exception in thread &q

从昨天起,我的文本加密机(jasypt)无缘无故停止工作。下面是一个代码示例和错误消息。有人知道发生了什么事吗

代码示例:

        StrongTextEncryptor crypter = new StrongTextEncryptor();
        crypter.setPassword("Password");
        crypter.encrypt("Test");
错误消息:

Exception in thread "main" org.jasypt.exceptions.EncryptionInitializationException: java.lang.ExceptionInInitializerError
    at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:773)
    at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:566)
    at org.jasypt.encryption.pbe.StandardPBEStringEncryptor.encrypt(StandardPBEStringEncryptor.java:644)
    at org.jasypt.util.text.StrongTextEncryptor.encrypt(StrongTextEncryptor.java:107)
    at A.main(A.java:8)
Caused by: java.lang.ExceptionInInitializerError
    at com.ibm.icu.impl.NormalizerDataReader.<clinit>(NormalizerDataReader.java:300)
    at com.ibm.icu.impl.NormalizerImpl.<init>(NormalizerImpl.java:288)
    at com.ibm.icu.impl.NormalizerImpl.<clinit>(NormalizerImpl.java:35)
    at com.ibm.icu.text.Normalizer$Mode.normalize(Normalizer.java:188)
    at com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1177)
    at com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1146)
    at org.jasypt.normalization.Normalizer.normalizeWithIcu4j(Normalizer.java:205)
    at org.jasypt.normalization.Normalizer.normalizeToNfc(Normalizer.java:129)
    at org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:718)
    ... 4 more
Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255
    at com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.java:188)
    at com.ibm.icu.impl.ICUDebug.getInstanceLenient(ICUDebug.java:65)
    at com.ibm.icu.impl.ICUDebug.<clinit>(ICUDebug.java:69)
    ... 13 more
线程“main”org.jasypt.exceptions.EncryptionInitializationException:java.lang.ExceptionInInitializeError中的异常 在org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:773)上 位于org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:566) 位于org.jasypt.encryption.pbe.StandardPBEStringEncryptor.encrypt(StandardPBEStringEncryptor.java:644) 位于org.jasypt.util.text.StrongTextEncryptor.encrypt(StrongTextEncryptor.java:107) 在A.main(A.java:8) 原因:java.lang.ExceptionInInitializeError 位于com.ibm.icu.impl.NormalizerDataReader。(NormalizerDataReader.java:300) 位于com.ibm.icu.impl.NormalizerImpl.(NormalizerImpl.java:288) 位于com.ibm.icu.impl.NormalizerImpl.(NormalizerImpl.java:35) 位于com.ibm.icu.text.Normalizer$Mode.normalize(Normalizer.java:188) 位于com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1177) 位于com.ibm.icu.text.Normalizer.normalize(Normalizer.java:1146) 位于org.jasypt.normalization.Normalizer.normalizeWithIcu4j(Normalizer.java:205) 位于org.jasypt.normalization.Normalizer.normalizeToNfc(Normalizer.java:129) 在org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:718)上 ... 4更多 原因:java.lang.IllegalArgumentException:版本号无效:版本号可能为负数或大于255 位于com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.java:188) 位于com.ibm.icu.impl.ICUDebug.getInstanceLinent(ICUDebug.java:65) 位于com.ibm.icu.impl.ICUDebug(ICUDebug.java:69) ... 还有13个
问题似乎与icu4j有关(至少在我的案例中是这样)。 在jasypt Github上找到此提交
更新的依赖项和应用程序开始运行。

这不是一个直接的答案,但我把它放在这里,以防有人遇到这个问题

使用Java1.8.0_275,我得到了一个

java.lang.ExceptionInInitializerError
运行
encrypt.sh

Jasypt版本1.9.3使用的是旧版本的icu4j-3.4.4.jar。我将icu4j-3.4.4.jar替换为,然后我可以运行:

/encrypt.sh输入=密码密码=加密算法=PBEWithmd5和DES

没有错误


有关详细信息,请参阅。尽管这与您运行jasypt的方式略有不同,但我建议您更新icu4j.jar并重试。

您的jvm版本是什么?自上次更新以来,jasypt已损坏。您解决了此问题吗?我今天看到了这个错误,我不知道,为什么它停止工作了…我没有看到一个包含提交的版本。只是在本地构建吗?实际上,我只是用这个文件替换了我应用程序库目录中的旧icu4j jar文件,并用maven pom执行了以下操作:org.jasypt jasypt 1.9.2 com.ibm.icu icu4j com.ibm.icu icu4j 67.1这对我来说也是绝对合适的。