web-dev-qa-db-ja.com

無効なバージョン番号:バージョン番号は負の場合、または255を超える可能性があります。

アプリケーションのページにアクセスしようとすると、次のようになっています。

SEVERE: Servlet.service() for servlet [jsp] threw exception
Java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255
    at com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.Java:191)
    at com.ibm.icu.impl.ICUDebug.getInstanceLenient(ICUDebug.Java:65)
    at com.ibm.icu.impl.ICUDebug.<clinit>(ICUDebug.Java:69)
 _

私はそれがいくつかのバージョンの不一致によるものであると仮定します。どのように私は問題を追跡することができますか?アプリケーションはマベート化されていないため、問題を確認する方法はわかりません。どのJarfileが問題を与えているかを知っていれば少なくともそれは良いでしょう。

3
JAVA_CAT

さて、私はそれがダーティハックであることを知っていますが、 "java.version"プロパティを数字を含まないバージョンに設定> 255が働いています。

System.setProperty("Java.version", "1.8.0_254");
 _

クラスがロードされる前にそれを設定するだけです(最初にアクセス)、後で元の値を復元します。そしてこれは単なる回避策であるため、ライブラリの作者にバグを提出してください。

0
René