JSP"无法解析为类型","无法编译"

时间:2014-08-07 10:08:08

标签: java jsp tomcat

我制作了一个Tomcat项目,但我遇到了问题;我不能用自己的课。 这是一个例子:

MyContext / test.jsp的

<%@page language="java" import="myPackage.*" %>
<%=new MyClass()%>

MyContext / WEB-INF / MyPackage的/ MyClass.java

package myPackage;
import java.util.*;

public class MyClass{
    public String toString(){
        return "this is the string from my class!";
    }
}

目录树:

MyContext
|---test.jsp
`---WEB-INF
    `---classes
        `---myPackage
            |---MyClass.class
            `---MyClass.java

当我访问MyContext / test.jsp时出现错误:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 2 in the jsp file: /test.jsp
MyClass cannot be resolved to a type
1: <%@page language="java" import="myPackage.*" %>
2: <%=new MyClass()%>


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

我的环境是 Ubuntu Server 14.04, Java版本1.7.0_55, Tomcat 7。

请帮帮我。

3 个答案:

答案 0 :(得分:1)

更改MyClass.java

package myPackage更改为MyPackage

答案 1 :(得分:1)

您写了错误的包名称,如其他答案中所述。

Java 区分大小写

myPackageMyPackage两者都不同。

我建议您始终遵循命名惯例,这样您就不会再遇到这样的错误。

Check This

包名应始终以小写字母开头。

答案 2 :(得分:0)

包名称区分大小写。像这样更改您的导入行:

<%@page language="java" import="myPackage.*" %>

还要确保包目录名为myPackage,而不是MyPackage