• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Jasper Error while importing classes without packages

 
Sarath PS
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi all ,
I created a jsp file that uses some classes( with out any package).
But when i try to execute, Jasper gives me error like this.

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

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
[javac] Compiling 1 source file

/usr/java/tomcat-5.0.25/work/Catalina/localhost/myapp/org/apache/jsp/index_jsp.java:6: '.' expected
import Account;
^
1 error


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:315)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:406)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:463)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)


Any body know any work around with out changing the package structure ? .This is because , I don't have the source code for the application.

Thanks in advance

Sarath
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13074
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't think there is a work-around. That is because the JVM looks for classes in the "default" package in the "current" directory. You might be able to control the current directory in a special case but in the general servlet environment you have no control.
I suppose you might be able to "hide" the Account class reference inside a wrapper class in a package, but then you would have to provide for a custom classloader to get a copy of the Account class.
Bill
 
Mike Curwen
Ranch Hand
Posts: 3695
IntelliJ IDE Java Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm not sure about the last part of William's last sentence...


Then in your JSP you'd be using 'mypackage.Account2', which is packaged. The JSP would produce a java source file that imports mypackage.Account2, and after that (runtime), the classloader would be able to find both Account and mypackage.Account2.
[ October 23, 2004: Message edited by: Mike Curwen ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic