ColdFusion ReportBuilder 9 nvr_win 错误
我最近升级到在 Windows 2008 Server 上的多服务器 JRun 环境中运行的 64 位 Enterprise ColdFusion 9。当我尝试调用在 ColdFusion 8 中完美运行的 .cfr 时,我在服务器日志中收到以下错误:
无法加载库:nvr_win: java.lang.UnsatisfiedLinkError:本机 图书馆 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 在 Coldfusion.compiler.TemplateReader.getReport(TemplateReader.java:259) 在 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([我的网络文件路径]\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) 在 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.ServletInvoker.invoke(ServletInvoker.java:106) 在 jrun.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$ThreadThrottle.invokeRunnable(ThreadPool.java:428) 在 jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
I recently upgraded to 64-bit Enterprise ColdFusion 9 running in a multi-server JRun environment on Windows 2008 Server. When I try to invoke a .cfr that worked perfectly in ColdFusion 8, I get the following error in my server log:
Unable to load library: nvr_win:
java.lang.UnsatisfiedLinkError: Native
Library
X:\JRun4\servers\server1\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\nvr_win64.dll
already loaded in another classloader
Judging from that error, it looks like there is some collision between 32-bit and 64-bit libraries.
I then end up with this message on the cfm page that calls the cfr:
Unable to execute report decoding
function:
java.lang.UnsatisfiedLinkError:
coldfusion.util.ReportDecoder.getReport([B)[B
I tried loading the .cfr in the ColdFusion 9 ReportBuilder, resaving and using that, but that didn't change anything. This is happening on multiple (all?) .cfr files on my site. Please help!
Here is the full stack trace:
java.io.IOException: Unable to execute
report decoding function:
java.lang.UnsatisfiedLinkError:
coldfusion.util.ReportDecoder.getReport([B)[B
at
coldfusion.compiler.TemplateReader.getReport(TemplateReader.java:259)
at
coldfusion.compiler.TemplateReader.(TemplateReader.java:74)
at
coldfusion.compiler.TemplateReader.(TemplateReader.java:42)
at
coldfusion.compiler.NeoTranslationContext.getPageReader(NeoTranslationContext.java:661)
at
coldfusion.compiler.NeoTranslator.translateJava(NeoTranslator.java:320)
at
coldfusion.compiler.NeoTranslator.translateJava(NeoTranslator.java:144)
at
coldfusion.runtime.TemplateClassLoader$TemplateCache$1.fetch(TemplateClassLoader.java:424)
at
coldfusion.util.LruCache.get(LruCache.java:180)
at
coldfusion.runtime.TemplateClassLoader$TemplateCache.fetchSerial(TemplateClassLoader.java:362)
at
coldfusion.util.AbstractCache.fetch(AbstractCache.java:58)
at
coldfusion.util.SoftCache.get_statsOff(SoftCache.java:133)
at
coldfusion.util.SoftCache.get(SoftCache.java:81)
at
coldfusion.runtime.TemplateClassLoader.findClass(TemplateClassLoader.java:591)
at
coldfusion.runtime.TemplateClassLoader.newInstance(TemplateClassLoader.java:540)
at
coldfusion.runtime.TemplateClassLoader.newInstance(TemplateClassLoader.java:523)
at
coldfusion.runtime.TemplateProxyFactory.getCFCInstance(TemplateProxyFactory.java:270)
at
coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:173)
at
coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:158)
at
coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:148)
at
coldfusion.runtime.TemplateProxyFactory.resolveName(TemplateProxyFactory.java:132)
at
coldfusion.runtime.TemplateProxyFactory.resolveFile(TemplateProxyFactory.java:109)
at
coldfusion.runtime.report.Report.(Report.java:135)
at
coldfusion.runtime.report.Report.(Report.java:146)
at
coldfusion.tagext.lang.ReportTag.doEndTag(ReportTag.java:596)
at
coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2723)
at
cfrequestprint2ecfm1848352526.runPage([path-to-my-web-files]\requestprint.cfm:8)
at
coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:363)
at
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at
coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at
coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at
coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at
coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at
coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
at
coldfusion.CfmServlet.service(CfmServlet.java:200)
at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at
jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at
com.intergral.fusionreactor.filter.FusionReactorFilter.b(FusionReactorFilter.java:376)
at
com.intergral.fusionreactor.filter.FusionReactorFilter.c(FusionReactorFilter.java:254)
at
com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:164)
at
jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at
coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at
coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at
jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at
jrun.servlet.FilterChain.service(FilterChain.java:101)
at
jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at
jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at
jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at
jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常,该错误意味着您缺少本机库。缺少的文件名以 libnvr 开头。文件名的其余部分取决于您的操作系统。例如:Linux libnvr_linux.so、libnvr_linux64.so; OS X libnvr_osx.jnilib;等等。
该文件应该位于您的 /WEB-INF/cfusion/lib 文件夹中。
就您而言,该文件可能位于两个位置,即 Java 和 Coldfusion 的类路径中。您需要在文件系统中搜索文件并删除不需要的文件。
Usually, the error means your missing a native library. The file name missing starts with libnvr. The rest of the filename depends on your OS. EX: Linux libnvr_linux.so, libnvr_linux64.so; OS X libnvr_osx.jnilib; etc.
The file should be in your /WEB-INF/cfusion/lib folder.
In your case, you may have the file in two places, both in the class path for Java and Coldfusion. You'd need to search your filesystem for the files and remove the one you don't need.