【发布时间】:2011-11-24 03:32:10
【问题描述】:
这就是问题所在。
我用NetBeans 7、Tomcat 7 和hsqldb 开发了一个网络应用程序;在我的桌面上一切正常。
当我将我的 java 文件(.class、.jsp 和 .jar 包)上传到我的站点并尝试加载一个 jsp 页面时,该页面会导入包中包含的类(包 it.swlab.util 中的类 FunzioniSessione),我收到以下错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 6 in the generated java file
Only a type can be imported. it.swlab.util.FunzioniSessione resolves to a package
An error occurred at line: 7 in the jsp file: /index.jsp
FunzioniSessione cannot be resolved to a type
4: <%
5: synchronized(this)
6: {
7: FunzioniSessione funzioniSessione = new FunzioniSessione();
8: String percorso = config.getServletContext().getRealPath("/");
9: funzioniSessione.inizializza(session,request,response,percorso,"infocar");
10: boolean connesso = session.getAttribute("utenteConnesso") != null;
An error occurred at line: 7 in the jsp file: /index.jsp
FunzioniSessione cannot be resolved to a type
4: <%
5: synchronized(this)
6: {
7: FunzioniSessione funzioniSessione = new FunzioniSessione();
8: String percorso = config.getServletContext().getRealPath("/");
9: funzioniSessione.inizializza(session,request,response,percorso,"infocar");
10: boolean connesso = session.getAttribute("utenteConnesso") != null;
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:307)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.33 logs.
为了避免一些明显的答案,我添加了一些更多信息:
- 包含类 FunzioniSessione(名为
funzioniComuni.jar)的包位于WEB-INF\lib文件夹中 - 我无法按照堆栈跟踪中的说明查看日志,因为我无权访问我的提供商的 Tomcat 服务器的日志文件夹。
3 导入指令是
<%@page import="it.swlab.util.FunzioniSessione"%>我也试过用“;”最后 (<%@page import="it.swlab.util.FunzioniSessione;"%>) 但没有成功。
我等待一些建议。
谢谢
【问题讨论】:
-
该错误表示运行时类路径中缺少该类。它与普通 Java 代码中的
NoClassDefFoundError基本相同(如果您在 Java servlet 类中而不是在 JSP 文件中编写 Java 代码,那会更清楚)。你用的是什么主机?你是如何部署 web 应用程序的?作为单个 WAR 文件还是作为代表 WAR 扩展内容的一堆松散文件?