2

我最近升级到在 Windows 2008 Server 上的多服务器 JRun 环境中运行的 64 位 Enterprise ColdFusion 9。当我尝试调用在 ColdFusion 8 中完美运行的 .cfr 时,我的服务器日志中出现以下错误:

无法加载库:nvr_win: java.lang.UnsatisfiedLinkError: Native Library X:\JRun4\servers\server1\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\nvr_win64.dll 已经加载到另一个类加载器中

从该错误来看,32 位库和 64 位库之间似乎存在一些冲突。

然后,我在调用 cfr 的 cfm 页面上收到此消息:

无法执行报告解码功能:java.lang.UnsatisfiedLinkError:coldfusion.util.ReportDecoder.getReport([B)[B

我尝试在 ColdFusion 9 ReportBuilder 中加载 .cfr,重新保存并使用它,但这并没有改变任何东西。这发生在我网站上的多个(全部?) .cfr 文件上。请帮忙!

这是完整的堆栈跟踪:

java.io.IOException:无法执行报告解码功能:java.lang.UnsatisfiedLinkError:coldfusion.util.ReportDecoder.getReport([B)[B at coldfusion.compiler.TemplateReader.getReport(TemplateReader.java:259) at coldfusion。 compiler.TemplateReader.(TemplateReader.java:74) 在coldfusion.compiler.TemplateReader.(TemplateReader.java:42) 在coldfusion.compiler.NeoTranslationContext.getPageReader(NeoTranslationContext.java:661) 在coldfusion.compiler.NeoTranslator.translateJava(NeoTranslator .java:320) 在coldfusion.compiler.NeoTranslator.translateJava(NeoTranslator.java:144) 在coldfusion.runtime.TemplateClassLoader$TemplateCache$1.fetch(TemplateClassLoader.java:424) 在coldfusion.util.LruCache.get(LruCache.java :180) 在coldfusion.runtime.TemplateClassLoader$TemplateCache.fetchSerial(TemplateClassLoader.java:362) 在coldfusion.util.AbstractCache.fetch(AbstractCache.java:58) 在coldfusion.util.SoftCache.get_statsOff(SoftCache.java:133) 在coldfusion.util.SoftCache.get(SoftCache.java:81) 在Coldfusion.runtime.TemplateClassLoader.findClass(TemplateClassLoader.java:591) 在coldfusion.runtime.TemplateClassLoader.newInstance(TemplateClassLoader.java:540) 在coldfusion.runtime.TemplateClassLoader.newInstance(TemplateClassLoader.java:523) 在coldfusion.runtime.TemplateProxyFactory .getCFCInstance(TemplateProxyFactory.java:270) 在coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:173) 在coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:158) 在coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory. java:148) 在coldfusion.runtime。TemplateProxyFactory.resolveName(TemplateProxyFactory.java:132) 在coldfusion.runtime.TemplateProxyFactory.resolveFile(TemplateProxyFactory.java:109) 在coldfusion.runtime.report.Report.(Report.java:135) 在coldfusion.runtime.report.Report。 (Report.java:146) 在coldfusion.tagext.lang.ReportTag.doEndTag(ReportTag.java:596) 在coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2723) 在cfrequestprint2ecfm1848352526.runPage([path-to-my -web-files]\requestprint.cfm:8) 在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:363) 在coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) 在coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) 在coldfusion.filter.PathFilter.invoke(PathFilter.java:87) 在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:53) 在coldfusion.CfmServlet.service(CfmServlet.java: 200) 在冷融合.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.ServletInvoker.invoke(ServletInvoker.java :106) 在 jrun.servlet.JRunRequestDispatcher 的 jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)。在 jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) 在 jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable 调用(JRunRequestDispatcher.java:286) (ThreadPool.java:428) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

4

1 回答 1

0

通常,该错误意味着您缺少本机库。缺少的文件名以 libnvr 开头。文件名的其余部分取决于您的操作系统。例如:Linux libnvr_linux.so、libnvr_linux64.so;OS X libnvr_osx.jnilib;等等

该文件应该在您的 /WEB-INF/cfusion/lib 文件夹中。

在您的情况下,您可能在两个地方都有该文件,都在 Java 和 Coldfusion 的类路径中。您需要在文件系统中搜索文件并删除不需要的文件。

于 2012-12-18T13:51:16.107 回答