私は現在、いくつかの自然言語処理技術を適用してデータを分析する Java アプリケーションを実行しています。このアプリケーションには、Java クラス ファイルと .bin 拡張子の 1 つのライブラリが含まれています。アプリケーションは開発サーバーでは正常に動作しますが、ライブ サーバーでは以下のエラーが発生します。
オブジェクトのインスタンス化例外。
Java オブジェクトのインスタンス化中に例外が発生しました。クラスは、インターフェイスまたは抽象クラスであってはなりません。Error: opennlp/tools/util/ObjectStream.
スタック トレース 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) at 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.runtime の coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416) で。CfJspPage._emptyTcfTag(CfJspPage.java:2722) at cfindex2ecfm1980726432._factor0(E:\sites_virtualdirs\admin\reports\index.cfm:425) at 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.MonitoringFilter.invoke(MonitoringFilter.java:40) で coldfusion.filter.PathFilter.invoke(PathFilter.java:94) で coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70) で coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter .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) で) 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.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) で jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) で jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106) で。 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)jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) の servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) .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)jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) の servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) .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 jrunx.scheduler.ThreadPool で $ThreadThrottle.invokeRunnable(ThreadPool.java:428) $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 jrunx.scheduler.ThreadPool で $ThreadThrottle.invokeRunnable(ThreadPool.java:428) $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.ClassNotFoundException:opennlp.tools.util.ObjectStream at coldfusion.bootstrap.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:235) java.lang.ClassLoader.loadClass(ClassLoader.java:248) java.lang .ClassLoader.loadClassInternal(ClassLoader.java:316) ... 61 続き
クラスパスの問題のようです。Dev サーバーで同じ問題が発生しましたが、すべてのファイルを Cold Fusion 9 ディレクトリに配置することで解決しましたC:\ColdFusion9\runtime\servers\lib
。 クラス ファイルとライブラリ .bin ファイルを Live サーバーの同じフォルダーに配置すると、機能しません。クラス ファイルと .bin ファイルを追加/削除するたびに、実稼働サーバーを再起動します。