getFile(...)文件上传出错

  1. 严重: /jsPage/test
  2. java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
  3. at com.jfinal.aop.Invocation.invoke(Invocation.java:87)
  4. at com.jfinal.core.ActionHandler.handle(ActionHandler.java:74)
  5. at com.jfinal.ext.handler.ContextPathHandler.handle(ContextPathHandler.java:48)
  6. at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:74)
  7. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
  8. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
  9. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
  10. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
  11. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
  12. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
  13. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
  14. at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
  15. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
  16. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
  17. at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
  18. at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
  19. at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
  20. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  21. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  22. at java.lang.Thread.run(Thread.java:748)
  23. Caused by: java.lang.reflect.InvocationTargetException
  24. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  25. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  26. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  27. at java.lang.reflect.Method.invoke(Method.java:498)
  28. at com.jfinal.aop.Invocation.invoke(Invocation.java:73)
  29. ... 19 more
  30. Caused by: java.lang.NoClassDefFoundError: com/oreilly/servlet/multipart/FileRenamePolicy
  31. at com.jfinal.core.Controller.getFiles(Controller.java:763)
  32. at com.jfinal.core.Controller.getFile(Controller.java:768)
  33. at cn.edu.dlmu.wechat.controller.WeixinJSSdkPageController.test(WeixinJSSdkPageController.java:53)
  34. ... 24 more
  35. Caused by: java.lang.ClassNotFoundException: com.oreilly.servlet.multipart.FileRenamePolicy
  36. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
  37. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
  38. ... 27 more
  39. maven创建的项目
  40. 看过社区的一些反馈文章之后,自己也进行了相应的配置
  41. 第一是尝试了:
  42. <!-- https://mvnrepository.com/artifact/servlets.com/cos -->
  43. <dependency>
  44.     <groupId>servlets.com</groupId>
  45.     <artifactId>cos</artifactId>
  46.     <version>05Nov2002</version>
  47. </dependency>
  48. 不行,还是报上面的错误。
  49. 第二尝试了:
  50. <!-- https://mvnrepository.com/artifact/com.jfinal/cos -->
  51. <dependency>
  52.     <groupId>com.jfinal</groupId>
  53.     <artifactId>cos</artifactId>
  54.     <version>2017.5</version>
  55. </dependency>
  56. 也是不行,错误一样,看见网上好多都说是缺少cos.jar,自己也用maven引入了,还有就是之前看到一个

人说收到导入com.oreilly.servlet.multipart.FileRenamePolicy,但是我的不行,没有oreilly,波总可以帮忙解决一下,在线等


评论区

JFinal

2017-11-05 23:10

使用 jfinal 官方提供的 cos 2017.5 这个版本,并且确保你的那个 cos 老版本不要干扰到新版本,要删干静老版本的依赖

NoClassDefFoundError 这个异常表明,就是有老版本干扰了新版本。

特别注意:NoClassDefFoundError 与 ClassNotFound 这两个异常是两回事, 前者是包版本不对或者不同版本包干扰, 后者是包未找到

mxkstar

2017-11-06 19:08

@JFinal 恩恩 问题解决了 是依赖的问题 谢谢波总了,还是自己经验太少

热门反馈

扫码入社