【发布时间】:2019-01-24 03:13:52
【问题描述】:
我正在使用最新的 TomCat 版本,并且我最近安装了 Eclipse Java EE 版本,所以它也是最新版本。 顺便说一句,我确实有最新版本的 JAVA SE (JDK)。
这是我的课:
package jsp.demo;
public class ClassForJSP {
public static String lowerCase(String data) {
return data.toLowerCase();
}
}
这是我非常简单的jsp代码:
<%@page import="jsp.demo.ClassForJSP"%>
<html>
<body>
Let's make THIS STATEMENT lower case: <%= ClassForJSP.lowerCase("THIS STATEMENT") %>
</body>
</html>
我收到此错误:
键入异常报告
消息无法为 JSP 编译类:
描述 服务器遇到了一个意外情况 阻止它完成请求。
异常 org.apache.jasper.JasperException:无法编译类 对于 JSP:
在生成的 java 文件 [D:\Java] 中的 [14] 行发生错误 Projects.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jspdemo\org\apache\jsp\callJavaClass_jsp.java] 只能导入一个类型。 jsp.demo.ClassForJSP 解析为 包
在 jsp 文件 [/callJavaClass.jsp] 中的 [4] 行发生错误 ClassForJSP 无法解析 1: 2: 3: 4: 让我们做 本语句小写: 5: 6:
堆栈跟踪: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:473) org.apache.jasper.compiler.Compiler.compile(Compiler.java:392) org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) org.apache.jasper.compiler.Compiler.compile(Compiler.java:346) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
注意根本原因的完整堆栈跟踪在服务器中可用 日志。
Apache Tomcat/9.0.14
【问题讨论】: