icu与jdk7不兼容问题解决

[14-10-09 16:34:17.037] {main} failed scanning class com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class
                       java.lang.IllegalStateException: com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class: '60' is an unknown constant pool type.
                       java.lang.IllegalStateException: com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class: '60' is an unknown constant pool type.
                        at com.caucho.bytecode.ByteCodeClassScanner.error(ByteCodeClassScanner.java:575)
                        at com.caucho.bytecode.ByteCodeClassScanner.parseConstantPool(ByteCodeClassScanner.java:296)
                        at com.caucho.bytecode.ByteCodeClassScanner.scan(ByteCodeClassScanner.java:100)
                        at com.caucho.loader.enhancer.ScanManager.scanForJarClasses(ScanManager.java:207)
                        at com.caucho.loader.enhancer.ScanManager.scan(ScanManager.java:116)
                        at com.caucho.loader.enhancer.ScanManager.scan(ScanManager.java:77)
                        at com.caucho.loader.EnvironmentClassLoader.scan(EnvironmentClassLoader.java:903)
                        at com.caucho.loader.DynamicClassLoader.sendAddLoaderEvent(DynamicClassLoader.java:929)
                        at com.caucho.loader.DynamicClassLoader.updateScan(DynamicClassLoader.java:916)
                        at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:474)
                        at com.caucho.env.deploy.EnvironmentDeployController.configureInstance(EnvironmentDeployController.java:59)
                        at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:691)
                        at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:81)
                        at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:545)
                        at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:174)
                        at com.caucho.server.webapp.WebAppContainer.start(WebAppContainer.java:736)
                        at com.caucho.server.host.Host.start(Host.java:678)
                        at com.caucho.env.deploy.DeployController.startImpl(DeployController.java:695)
                        at com.caucho.env.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:81)
                        at com.caucho.env.deploy.DeployController.startOnInit(DeployController.java:545)
                        at com.caucho.env.deploy.DeployContainer.start(DeployContainer.java:174)
                        at com.caucho.server.host.HostContainer.start(HostContainer.java:543)
                        at com.caucho.server.cluster.ServletService.start(ServletService.java:1376)
                        at com.caucho.server.cluster.ServletSystem.start(ServletSystem.java:72)
                        at com.caucho.env.service.ResinSystem.startServices(ResinSystem.java:544)
                        at com.caucho.env.service.ResinSystem.start(ResinSystem.java:511)
                        at com.caucho.server.resin.Resin.start(Resin.java:854)
                        at com.caucho.server.resin.Resin.initMain(Resin.java:986)
                        at com.caucho.server.resin.Resin.main(Resin.java:1442)


今天在新服务器上配环境部署应用,启动resin时遇到这个报错。细查是icu4j.jar引起的,这个jar是pom中的jaxen依赖带来的,因为jaxen依赖XOM,XOM依赖icu4j。


此问题很好处理,只需升级pom中的jaxen至1.1.4或更高版本。
jaxen自1.1.4版本开始已经不依赖XOM.jar了,自然也不需要icu4j了,没有这个包自然就不用担心它报错了。

你可能感兴趣的:(icu与jdk7不兼容问题解决)