Attempt to use Normalizer.normalize() on simple ASCII strings should not cause loading and parsing of unorm.icu. This file is over 100k and initialization is not cheap. It also requires opening and reading directory of resource.jar file. In many situations Normalizer object is used to "do it safe" while it has no impact on result of execution of the program. E.g. Normalizer is used get canonical names of certificates but many names are ASCII and do not need to be normalized! Unfortunatelly, some of these "uses" of Normalizer happen on startup of application, e.g. in webstart code performs verification of certificates and triggers full initialization of Normalizer. Perhaps it can be possible to do simple check of whether request for normalization is trivial before performing full normalization for first time. See suggested fix for possible solution.
|