【发布时间】:2015-05-01 16:09:12
【问题描述】:
我正在使用以下 jar 文件创建 pdf:
- avalon-framework-4.2.0.jar
- batik-all-1.7.jar
- commons-io-2.4.jar
- commons-logging-1.2.jar
- fop-0.9.5.jar
- xml-apis-ext-1.3.04.jar
- xmlgraphics-commons-1.3.1.jar
这些是通过以下方式加载的:
THIS.javaSettings = { LoadPaths = [ "jar/lib/" ]
, loadColdFusionClassPath=false
, reloadOnChange=true
, watchInterval=300
}
.. 在我的应用程序 cfc 中。当我从 Chrome 或 IE 运行代码时,它会很好地创建 pdf,但是当刷新页面时,我会收到以下错误。有趣的是,当从 Firefox 运行时,它完全可以正常工作。任何人都可以帮助解决此错误或解释它发生的原因吗?
从源复制文件时出错 C:/Inetpub/wwwroot/TestSite/MenuMaker/jar/lib/batik-all-1.7.jar 到 C:/ColdFusion11/cfusion/tmpCache/appClasses/1512258339
资源:检查 ColdFusion 文档以确认您是 使用正确的语法。搜索知识库以找到解决方案 解决您的问题。
浏览器: Mozilla/5.0(Windows NT 6.0;WOW64) AppleWebKit/537.36(KHTML,如 Gecko)Chrome/42.0.2311.135 Safari/537.36
...java.nio.file.FileSystemException: C:\ColdFusion11\cfusion\tmpCache\appClasses\1512258339\batik-all-1.7.jar: The process cannot access the file because it is being used by another process. at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) at sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:165) at sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:278) at java.nio.file.Files.copy(Files.java:1274) at coldfusion.tagext.io.FileUtils.nioCopy(FileUtils.java:1368) at coldfusion.tagext.io.FileUtils.copyFile(FileUtils.java:1361) at coldfusion.tagext.io.FileUtils.copyFile(FileUtils.java:1326) at coldfusion.tagext.io.FileUtils.copy(FileUtils.java:492) at coldfusion.runtime.AppClassLoaderHelper.handleDynamicLoading(AppClassLoaderHelper.java:380) at coldfusion.runtime.AppClassLoaderHelper.init(AppClassLoaderHelper.java:189) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:325) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:78) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.inspect.weinre.MobileDeviceDomInspectionFilter.doFilter(MobileDeviceDomInspectionFilter.java:121) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:422) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:199) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
【问题讨论】:
-
我想我可能已经解决了我自己的问题。首先,我误解了基于浏览器的不同行为。即使我不确定为什么在 Coldfusion LoadPaths 中有 reloadOnChange=true,我认为是什么导致了这个问题。我将其更改为 false,现在一切似乎都正常。
-
听起来像是一个合理的解释。
reloadOnChange=true涉及 CF 操作动态 jar 和类文件。这肯定会导致上面的错误消息。 (尽管除非您更新了 jar 文件,否则 CF 不应尝试重新加载任何内容。)无论如何,您应该将其发布为答案。
标签: java jar coldfusion