2016-09-14 33 views
1

当我开始我们的产品时,我遇到了这个异常。如果我将JDK切换到JDK7,则启动正常。随着IBM JDK8看到sun.io.UnknownCharacterException异常

Caused by: java.lang.ClassNotFoundException: sun.io.UnknownCharacterException 
at java.net.URLClassLoader.findClass(URLClassLoader.java:607) 
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:846) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:825) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:805) 

完整的堆栈跟踪:

com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstallException: InstallSI.ModuleLoader()->Failed while loading package: /home/contbld2/cruisecontrol/main/bin/sandbox/install/middleware/d_platform_ifc_1030400.jar 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSI.MiddlewareModuleLoader(InstallSI.java:1767) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSI.PerformInstall(InstallSI.java:920) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSI.main(InstallSI.java:132) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 
at java.lang.reflect.Method.invoke(Method.java:508) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSIBootstrapper.instanciateAndRun(InstallSIBootstrapper.java:376) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSIBootstrapper.instanciateAndRun(InstallSIBootstrapper.java:380) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSIBootstrapper.doIt(InstallSIBootstrapper.java:192) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSIBootstrapper.main(InstallSIBootstrapper.java:80) 
<BR> 
Caused by: java.lang.Exception: java.lang.reflect.InvocationTargetException 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSI.MiddlewareModuleLoader(InstallSI.java:1743) 
... 10 more 
<BR> 
Caused by: java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) 
at java.lang.reflect.Method.invoke(Method.java:508) 
at com.xxxxxxxxx.yyyyyyyy.install.InstallSI.MiddlewareModuleLoader(InstallSI.java:1740) 
... 10 more 
<BR> 
Caused by: java.lang.NoClassDefFoundError: sun.io.UnknownCharacterException 
at com.xxxxxxxxx.yyyyyyyy.dmi.visibility.event.AFCDmiVisEventFactory.fireAdminAuditEvent(AFCDmiVisEventFactory.java:631) 
at com.xxxxxxxxx.yyyyyyyy.services.SDI.save(SDI.java:1144) 
at com.xxxxxxxxx.yyyyyyyy.ui.ServiceDefinition.loadDb(ServiceDefinition.java:999) 
at com.xxxxxxxxx.yyyyyyyy.ui.ServiceDefinition.loadDb(ServiceDefinition.java:919) 
at com.xxxxxxxxx.yyyyyyyy.ui.ServiceDefinition.work(ServiceDefinition.java:1135) 
at com.xxxxxxxxx.yyyyyyyy.install.utils.SIICallableImpl.ServiceDefinition(SIICallableImpl.java:47) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.processSDI(ServiceInstall.java:1434) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.doServiceCommonTasks(ServiceInstall.java:1207) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.installService(ServiceInstall.java:994) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.install(ServiceInstall.java:522) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.install(ServiceInstall.java:253) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.installComponents(ServiceInstall.java:611) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.install(ServiceInstall.java:560) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.install(ServiceInstall.java:253) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.installComponents(ServiceInstall.java:611) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.install(ServiceInstall.java:560) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.install(ServiceInstall.java:232) 
at com.xxxxxxxxx.yyyyyyyy.install.module_loader.ServiceInstall.installWithLoader(ServiceInstall.java:282) 
... 15 more 
<BR> 
Caused by: java.lang.ClassNotFoundException: sun.io.UnknownCharacterException 
at java.net.URLClassLoader.findClass(URLClassLoader.java:607) 
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:846) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:825) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:805) 
... 33 more 

可能是类似这样的,但我看到了这个问题,所有的数据库: Connect to DB2 database in eclipse via jdbc

+4

您是否在使用'UnknownCharacterException'?那真的是* full * stacktrace吗? – Andreas

+0

嗨,安德烈亚斯,我用完整的堆栈跟踪更新了我的问题。当我们尝试使用IBM JDK8 SR3安装我们的应用程序时,会发生此异常。使用JDK7它工作正常。如果我能够找到解决问题的根源,您能否请建议? –

+2

显然,类“com.xxxxxxxxx.yyyyyyyy.dmi.visibility.event.AFCDmiVisEventFactory”使用的是类“sun.io.UnknownCharacterException”,它不是标准Java API的一部分。只需修复... – Holger

回答

2

的IO代码页(字符集)从删除IBM JDK 8.为了解决问题,您必须在应用程序中使用NIO字符集。另外,请确保在应用程序中使用标准Java API(请注意,不建议在应用程序中使用像sun.io. *这样的实现类,因为它可以随时在没有任何事先通知的情况下进行修改/删除)。

+0

嗨,我没有看到我们的应用程序直接使用sun.io. *。它的一些内部罐子正在使用它。识别来源变得具有挑战性,这就是我现在正在研究的内容。 –

+0

由于Holger在他的早期评论中已经更新,所以类com.xxxxxxxxx.yyyyyyyy.dmi.visibility.event.AFCDmiVisEventFa ctory使用类sun.io.UnknownCharacterException,它不是标准Java API的一部分。 –