原来不是因为缺少jar包引起的
今天仿照尚学堂的shopping项目写了个开头,就出现了错误:
org.apache.jasper.JasperException: Unable to compile class for JSP
某类不可以被引用(这里把日志翻译了一下)
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:334)
??? org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
??? org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
??? org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
??? org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
??? org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
??? org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
??? javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
开始以为是因为少jar引起的,后来把和shopping示例项目相同的jar包都copy过来,重新启动还是不行。
后来看到一篇文章说他移植的时候也遇到了这个问题,然后我又重新检查了一下编译class的路径,才发现WEB-INF下面没有classes文件夹,当然也就没有将编译的类放到这个文件夹底下。
?
解决方法:
? ? ? ?在WEB-INF底下建classes文件夹,然后在properties中设置如附件所示
?
分析原因:
? ? ? 很多问题其实都可以从源头找到问题,就比如这个问题。其实最终都是读的class文件。
? ? ??
?