Problem with embedded Tomcat and JSP compilation. 2004-01-08 - By benjamin.cassan@(protected)
Back Hi,
I wrote an application running an embedded Tomcat, based on the sample code of the onJava site (an org.apache.catalina.startup.Embedded class with manual configuration of things usually found in server.xml). I use Tomcat 4.1.27 and Java 1.3.1. Tomcat starts well, but is not able to compile JSP page. It displays the following error:
<code> org.apache.jasper.JasperException : Unable to compile class for JSP
An error occurred at line: 4 in the jsp file: /index.jsp
Generated servlet error: [javac] Compiling 1 source file
C:\test\tomcat\work\_\localhost\_\index_jsp.java:3: package javax.servlet does not exist import javax.servlet.*; ^ ... </code>
and so on for all import statements. It looks like a classpath problem, but I set the classpath with all the jar files in tomcat/common/lib, in tomcat/server /lib, in tomcat/common/endorsed, bootstrap.jar, the tools.jar of java. I set it in the environment CLASSPATH variable and in the classpath of the jar of my application. And the classpath is set, because if not, Tomcat cannot be launched.
So I probably missed something, but what?
Below you can see the code of my class and the code of the main function:
<code of class EmbeddedTomcat> import org.apache.catalina.Connector; import org.apache.catalina.Context ; import org.apache.catalina.Deployer; import org.apache.catalina.Engine ; import org.apache.catalina.Host ; import org.apache.catalina.logger.SystemOutLogger; import org.apache.catalina.startup.Embedded ; import org.apache.catalina.Container ;
public class EmbeddedTomcat { private String path = null; private Embedded embedded = null; private Host host = null;
public EmbeddedTomcat() { }
public void setPath( String path) { this.path = path; }
public String getPath() { return( path); }
public void startTomcat() throws Exception { Engine engine = null; Context context = null;
System.setProperty( "catalina.home", getPath()); System.setProperty( "catalina.base", getPath());
embedded = new Embedded(); embedded.setDebug( 0); embedded.setLogger( new SystemOutLogger());
engine = embedded.createEngine(); engine.setDefaultHost( "localhost");
host = embedded.createHost( "localhost", "webapps"); engine.addChild( host);
context = embedded.createContext( "", "c:/test/root"); host.addChild( context);
embedded.addEngine( engine);
Connector connector = embedded.createConnector( null, 8080, false); embedded.addConnector( connector);
embedded.start(); }
public void stopTomcat() throws Exception { embedded.stop(); } } </code>
<code in main function of my application> EmbeddedTomcat tomcat = new EmbeddedTomcat(); tomcat.setPath( m_config.getString( "tomcat.home")); try { tomcat.startTomcat(); } catch( Exception error) { logger.fatal( "Unable to start tomcat.", error); return; } </code>
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --- NetCourrier, votre bureau virtuel sur Internet : Mail, Agenda, Clubs, Toolbar... Web/Wap : www.netcourrier.com T�l�phone/Fax : 08 92 69 00 21 (0,34 � TTC/min) Minitel: 3615 NETCOURRIER (0,16 � TTC/min)
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected) For additional commands, e-mail: tomcat-user-help@(protected)
|
|