首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法为JSP编译类:Tomcat 9

无法为JSP编译类:Tomcat 9
EN

Stack Overflow用户
提问于 2019-01-24 03:13:52
回答 1查看 4.5K关注 0票数 0

我使用的是最新的TomCat版本,最近我安装了Eclipse版本,所以它也是最新版本。顺便说一句,我确实有JAVA (JDK)的最新版本。

这是我的课:

代码语言:javascript
复制
    package jsp.demo;

public class ClassForJSP {

    public static String lowerCase(String data) {
        return data.toLowerCase();
    }
}

这是我非常简单的jsp代码:

代码语言:javascript
复制
<%@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:\ Projects.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jspdemo\org\apache\jsp\callJavaClass_jsp.java中的一行: 14出现了一个错误,只能导入一个类型。jsp.demo.ClassForJSP解析为包 在jsp文件中的一行:4处发生了一个错误:无法解析1:<%@page import="jsp.demo.ClassForJSP"%> 2: 3: 4:让我们把这个语句小写:<%= ClassForJSP.lowerCase("THIS语句“) %> 5: 6: Stacktrace: import= 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

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 03:30:45

这一信息表明:

代码语言:javascript
复制
Only a type can be imported. jsp.demo.ClassForJSP resolves to a package

Java类的源代码表明包是jsp.demo。但是在运行时,JSP编译器已经找到了一个包(即类路径上的一个目录),它的名称是jsp.demo.ClassForJSP

很明显,类路径有问题.JSP编译器发出了一个红旗。

怎么会这样?

  • 也许您正在使用部署到服务器的webapp应用程序中的“陈旧”JAR文件?
  • 也许您错过了构建或部署步骤?
  • 也许您已经手动组装了JAR文件,或者包含JAR文件的WAR文件,但是结构错误了吗?
  • 也许您是在Tomcat服务器上执行这个“实时”操作,并且将".class“文件复制到错误的位置?
  • 可能还有别的事?

你需要自己看看所有这些可能性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54338873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档