我目前正在运行一个 Java 应用程序,该应用程序应用一些自然语言处理技术来分析数据。此应用程序包括一个 Java 类文件和 1 个 .bin 扩展库该应用程序在我的开发服务器上运行良好,但在实时服务器上我收到以下错误:
对象实例化异常。
实例化 Java 对象时发生异常。该类不能是接口或抽象类。Error: opennlp/tools/util/ObjectStream.
Stack Trace java.lang.NoClassDefFoundError: opennlp/tools/util/ObjectStream at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2291) at java.lang.Class.privateGetPublicFields (Class.java:2324) 在 java.lang.Class.getFields(Class.java:1359) 在 Coldfusion.runtime.java.ObjectHandler.Initialize(ObjectHandler.java:35) 在 Coldfusion.runtime.java.ObjectHandler.(ObjectHandler .java:30) 在coldfusion.runtime.java.ReflectionCache$1.fetch(ReflectionCache.java:29) 在coldfusion.util.SoftCache.get_statsOff(SoftCache.java:133) 在coldfusion.util.SoftCache.get(SoftCache.java :81) 在coldfusion.runtime.java.ReflectionCache.get(ReflectionCache.java:36) 在coldfusion.runtime.java.JavaProxy.(JavaProxy.java:35) 在coldfusion.runtime.java.JavaProxyFactory.getProxy(JavaProxyFactory.java:89) 在coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65) 在coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:5002 ) 在coldfusion.runtime.CFPage.CreateObject(CFPage.java:4966) 在coldfusion.runtime.CFPage.CreateObject(CFPage.java:4907) 在coldfusion.runtime.CFPage.CreateObject(CFPage.java:4885) 在coldfusion.runtime .CFPage.CreateObject(CFPage.java:4842) 在 cfWord_Cloud_Report2ecfm2061667591.runPage(E:\sites\SignatureWebMedical.Com\cf_modules\reports\sounding\Word_Cloud_Report.cfm:40) 在 Coldfusion.runtime.CfJspPage.invoke(CfJspPage.java: 231) 在coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416) 在coldfusion.runtime。CfJspPage._emptyTcfTag(CfJspPage.java:2722) 在 cfindex2ecfm1980726432._factor0(E:\sites_virtualdirs\admin\reports\index.cfm:425) 在 cfindex2ecfm1980726432._factor7(E:\sites_virtualdirs\admin\reports\index.cfm:403)在 cfindex2ecfm1980726432._factor8(E:\sites_virtualdirs\admin\reports\index.cfm:188) 在 cfindex2ecfm1980726432.runPage(E:\sites_virtualdirs\admin\reports\index.cfm:1) 在 coldfusion.runtime.CfJspPage.invoke(CfJspPage .java:231) 在coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416) 在coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) 在coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java: 360) 在coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) 在coldfusion.filter。在 coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70) 在 coldfusion.filter.PathFilter.invoke(PathFilter.java:94) 在 coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter) 的 MonitoringFilter.invoke(MonitoringFilter.java:40) .java:28) 在coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) 在coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) 在coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)在coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) 在coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) 在coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:126) 在coldfusion.CfmServlet。服务(CfmServlet.java:200) 在coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) 在jrun.servlet.FilterChain.doFilter(FilterChain.java:86) 在com.intergral.fusionreactor.filter.FusionReactorFilter.b(FusionReactorFilter.java:376) ) 在 com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.java:254) 在 com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:164) 在 jrun.servlet.FilterChain.doFilter(FilterChain. java:94) 在coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) 在coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) 在jrun.servlet.FilterChain.doFilter(FilterChain.java:94 ) 在 jrun.servlet.FilterChain.service(FilterChain.java:101) 在 jrun.servlet.JRunRequestDispatcher.invoke(ServletInvoker.java:286) 在 jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) 在 jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106) 在 jrun。 servlet.ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler .ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) 在 jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) 在 jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService .invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$ UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) 在 jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) 在 jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService .invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$ UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool $ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) 在 jrunx.scheduler.ThreadPool $ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) 处的 ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) 处的 ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) 引起: java.lang.ClassLoader.loadClass(ClassLoader.java:248) 的 Coldfusion.bootstrap.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:235) 的java.lang.ClassNotFoundException:opennlp.tools.util.ObjectStream .ClassLoader.loadClassInternal(ClassLoader.java:316) ... 61 更多
在我看来,这是一个类路径问题。我在开发服务器上遇到了同样的问题,但通过将我的所有文件放在 Cold Fusion 9 目录中来修复它:C:\ColdFusion9\runtime\servers\lib
当我将类文件和库 .bin 文件放在 Live 服务器上的同一文件夹中时,它不起作用。每次添加/删除类文件和 .bin 文件时,我都会重新启动生产服务器。