关于JDK1.8和eclipse版本不兼容导致的Arrays cannot be resolved
来源:互联网 发布:crossover软件怎么样 编辑:程序博客网 时间:2024/05/20 14:43
在项目开发中,使用KindEditor富文本插件上传图片时,总是报错
PWC6197: An error occurred at line: 8 in the jsp file: /kindeditor/jsp/upload_json.jsp
PWC6199: Generated servlet error:
Arrays cannot be resolved
ERROR: Compilation error
org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.<init>(ClassFileReader.java:298)
at org.apache.jasper.compiler.JDTJavaCompiler$1.findType(JDTJavaCompiler.java:367)
at org.apache.jasper.compiler.JDTJavaCompiler$1.findType(JDTJavaCompiler.java:339)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:119)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getType(PackageBinding.java:126)
at org.eclipse.jdt.internal.compiler.lookup.Scope.findType(Scope.java:1351)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2455)
at org.eclipse.jdt.internal.compiler.lookup.Scope.getBinding(Scope.java:1590)
at org.eclipse.jdt.internal.compiler.ast.SingleNameReference.resolveType(SingleNameReference.java:702)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:258)
at org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java:258)
at org.eclipse.jdt.internal.compiler.ast.UnaryExpression.resolveType(UnaryExpression.java:210)
at org.eclipse.jdt.internal.compiler.ast.Expression.resolveTypeExpecting(Expression.java:848)
at org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:222)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
at org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:225)
at org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101)
at org.eclipse.jdt.internal.compiler.ast.WhileStatement.resolve(WhileStatement.java:213)
at org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:115)
at org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:504)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStatements(AbstractMethodDeclaration.java:418)
at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(MethodDeclaration.java:178)
at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(AbstractMethodDeclaration.java:396)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1072)
at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration.java:1121)
at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(CompilationUnitDeclaration.java:305)
at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:512)
at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:329)
at org.apache.jasper.compiler.JDTJavaCompiler.compile(JDTJavaCompiler.java:503)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:368)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:427)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:494)
at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:933)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:334)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:992)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:541)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:748)
ERROR: Error compiling file: /Users/liangpx/Documents/BOSS/client/boss_tbs/target/tmp/jsp/org/apache/jsp/kindeditor/jsp/upload_005fjson_jsp.java
[WARNING] /boss/kindeditor/jsp/upload_json.jsp
org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP
PWC6197: An error occurred at line: 8 in the jsp file: /kindeditor/jsp/upload_json.jsp
PWC6199: Generated servlet error:
Arrays cannot be resolved
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:123)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:296)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:376)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:360)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:427)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:494)
at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:933)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:334)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:992)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:541)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:748)
String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();if(!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(fileExt)){out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));return;}
然后测试发现是因为JDK1.8和eclipse版本不兼容导致的java.util.Arrays类无法被编译,所以报错(图片来源于其他网友)。
所以,可以把JDK降到1.7或者升级eclipse到最新版本即可,真是神级BUG。
然后还可以修改此处代码为
//检查扩展名,由于JDK版本1.8.0+Eclipse版本不兼容,导致java.util.Arrays无法编译,此处做一些修改String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();/* if(!Arrays.<String>asList(extMap.get(dirName).split(",")).contains(fileExt)){out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));return;} */if(extMap.get(dirName).toString().indexOf(fileExt)<0){out.println(getError("上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"));return;}
以上就是在使用KindEditor上传图片时发现的一个问题,折腾了好久。
- 关于JDK1.8和eclipse版本不兼容导致的Arrays cannot be resolved
- Arrays cannot be resolved
- Eclipse cannot be resolved错误的解决
- 关于ManagementFactory cannot be resolved的问题!
- Spring3.x 版本和 JDK1.8 不兼容
- 关于eclipse导入工程出现“SystemProperties cannot be resolved”时的解决方法
- jdk1.8和Spring3.2版本不兼容,以及spring的JNDI数据源
- eclipse的android 开发过程中,**cannot be resolved
- eclipse中" cannot be resolved to a type"的解决办法
- python版本不兼容导致的悲剧
- 关于 “The import junit cannot be resolved”的提示错误
- Eclipse “Import cannot be resolved” error
- Eclipse “cannot be resolved to a type”
- Eclipse 项目XXXX cannot be resolved问题
- SSH之JDK1.8遇错The type java.util.Map$Entry cannot be resolved.
- 项目版本不同导致Eclipse报错问题——关于在JDK1.7环境中,运行JDK1.8环境下编写的项目。
- 关于在 eclipse R cannot be resolved to a variable 解決
- 关于AndroidStudio项目转换Eclipse项目报错“AppCompatActivity cannot be resolved to a type”
- 微信小程序 分享功能(十)
- 输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- java Class getDeclaredFields() 与getFields()的区别
- android:windowSoftInputMode
- 【树形DP】UVa 12186 Another Crisis
- 关于JDK1.8和eclipse版本不兼容导致的Arrays cannot be resolved
- Android登录功能实现
- ACM数论基础训练题解之最大质因子
- Kotlin中常用操作符和用法介绍
- 8:渐变(背景-属性)-1.1.4径向渐变
- SSM框架搭建项目整合学习笔记
- Spring MVC的跨域配置
- React学习(四)组件
- JavaScript中的DOM操作