When using Main. This is in the localhost.log
----------------------------------------------
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: com.sun.tools.javac.Main
at
org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext
.java:238)
at
org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext
.java:214)
at
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:5
61)
When using main.JavaCompiler. This is in catalina.out
------------------------------------------------------
WARNING: No Java compiler available
java.lang.InstantiationException: com.sun.tools.javac.main.JavaCompiler
When using main.Main . This is in catalina.out
------------------------------------------------------
WARNING: No Java compiler available
java.lang.InstantiationException: com.sun.tools.javac.main.Main
Looking at the source, the Compiler needs to be a:
org.apache.jasper.compiler.Compiler, which, clearly, javac is not.
So maybe I need to use the AntCompiler (I have no idea what this is
currently), and have it call javac.
This is all looking like it may not be worth it. Still, I may investigate
it further this weekend.
-----Original Message-----
From: Caldarale, Charles R [mailto:[EMAIL PROTECTED]
Sent: Friday, June 08, 2007 4:23 PM
To: Tomcat Users List
Subject: RE: Using Javac instead of JDT to compile JSPs
> From: Mark Claassen [mailto:[EMAIL PROTECTED]
> Subject: RE: Using Javac instead of JDT to compile JSPs
>
> <param-name>compiler</param-name>
Looking at the code in org.apache.jasper.EmbeddedServletOptions, it appears
the parameter name should be "compilerClassName" rather than "compiler". If
compilerClassName is null, the following somewhat odd code in
org.apache.jasper.JspCompilationContext is executed:
if (options.getCompiler() == null) {
jspCompiler =
createCompiler("org.apache.jasper.compiler.JDTCompiler");
if (jspCompiler == null) {
jspCompiler =
createCompiler("org.apache.jasper.compiler.AntCompiler");
}
} else {
jspCompiler =
createCompiler("org.apache.jasper.compiler.AntCompiler");
if (jspCompiler == null) {
jspCompiler =
createCompiler("org.apache.jasper.compiler.JDTCompiler");
}
}
It appears the value of "compiler" is ignored, which explains why the JDT
compiler keeps getting used.
- Chuck
THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
MATERIAL and is thus for use only by the intended recipient. If you received
this in error, please contact the sender and delete the e-mail and its
attachments from all computers.
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected] To unsubscribe,
e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To start a new topic, e-mail: [email protected]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]