Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Tomcat won't compile jsps if they are in any directory other than root

843840Oct 24 2007 — edited Oct 25 2007
I'm running a new instance of Tomcat, and can't get a simple jsp file to compile, if it's in any directory other than the root.

The jsp is:

<%@ page import="test.Simple" %>
<%@ page contentType="text/html" language="java" %>
<html>
<body><%=Simple.makeText()%>
</body>
</html>

and the Simple class is:

package test;
import java.util.Random;
public class Simple {
public static String makeText() {
return String.valueOf(new Random().nextInt());
}
}

When I place the jsp in the root directory, it works fine.
When I place the jsp in any subfolder (eg: /debug/1b.jsp), I get the following error:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

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

Generated servlet error:
Only a type can be imported. test.Simple resolves to a package

An error occurred at line: 14 in the jsp file: /1b.jsp
Generated servlet error:
Simple cannot be resolved


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

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

Generated servlet error:
Only a type can be imported. test.Simple resolves to a package

An error occurred at line: 14 in the jsp file: /1b.jsp
Generated servlet error:
Simple cannot be resolved


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)



Here's the server info:

Server version: Apache Tomcat/5.5.25
Server built: Sep 24 2007 11:31:18
Server number: 5.5.25.0
OS Name: Linux
OS Version: 2.6.20.20-071008a
Architecture: amd64
JVM Version: 1.5.0_10-b03
JVM Vendor: Sun Microsystems Inc.
Using fedora core 6.

I looked into the Tomcat work directory, and it looked as if the jsp was successfully converted to a java file. I'm not sure where to look, as all the settings are defaults.


Any help is greatly appreciated. Thanks
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 22 2007
Added on Oct 24 2007
5 comments
2,219 views