【问题标题】:Coldfusion 11 java.nio.file.FileSystemException ErrorColdfusion 11 java.nio.file.FileSystemException 错误
【发布时间】: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


【解决方案1】:

似乎 Coldfusion 认为部分或全部 jar 文件正在更新,为什么我不确定。将 LoadPaths:reloadOnchange=true 属性更改为 false 可解决此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2015-06-27
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多