我正在处理一个JSP项目。在使用Netbeans和Tomcat6服务器运行该项目时,我遇到了以下异常,
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 8 in the generated java file
Only a type can be imported. com.TransportPortal.MyFunctions resolves to a package
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
它在Apache Tomcat的lib
目录中有servelet-api.jar
。
请帮我解决一下。
9条答案
按热度按时间qhhrdooz1#
从错误中可以看出,您尝试导入的内容不是类。
如果您的
MyFunctions
是一个类,则应按如下方式导入它:如果它是一个包,并且您希望导入包中的所有内容,则应执行以下操作:
有两种情况会给你这个错误,编辑来涵盖这两个。
7vux5j2d2#
它可能与Java JRE版本有关。
在我的情况下,我需要Tomcat 6.0.26,它与JRE 1.8.0_91出现了相同的错误。降级到JRE 1.7.49解决了这个问题。
有关详细信息,请访问:http://www.howopensource.com/2015/07/unable-to-compile-class-for-jsp-the-type-java-util-mapentry-cannot-be-resolved/
vd8tlhqk3#
您可以降级到JRE 1.7.49
或者如果要在JRE 8上运行
修复步骤:-
ua4mk5z44#
我在eclipse neon版本中遇到了同样的异常,异常如下所示
我使用Apache tomcat 8的maven插件,我试图更新,但面临同样的问题。
在我下载了新的外部apache tomcat版本8.5.14并使用它运行项目后,它将为我成功
我希望有人对解决上述例外情况有用
vohkndzv5#
org.apache.jasper.JasperException:无法编译JSP的类:
cu6pst1q6#
尝试将以下内容添加到您的web.xml:
c6ubokkw7#
在我的例子中,我使用的是6.0.24 Tomcat版本(带有JDK 1.8),通过升级到6.0.37版本解决了这个问题。
此外,如果您将新的tomcat版本安装在不同的文件夹中,请不要忘记将以前版本的**/conf**文件夹复制到新的安装文件夹中。
tkclm6bt8#
This ERROR occurs because you are importing something which is not class.
this ERROR mostly occurs in <%@page import=" "%> in JSP Page Directive.
because it controls the processing of entire JSP pages. It gives direction to the server regarding the processing of page.
in below code try to import packages in "*" form so it will not give you this type of ERRORS. like
<%@ import="java.io.*" %>
<%@ page import = "java.io.*" %> you will find error in this line . this code can help you to solve your error. by putting " * " in your importing package code..
I think this will help you. Thanks
nszi6y059#