I do not want to ship tools.jar with our product, so I precompiled jsp's
using jspc.

I am able to precompile my jsp's using the following:

        set TOMCAT_HOME=where I installed Tomcat.
        set JSP_HOME=where I keep my JSP's.
        set JSP_TEMP=where I put the java files generated by JSPC.
        set TOMCAT_WORK_FOLDER=where the .class files will go
(%TOMCAT_HOME\work\local_8080%2FmyDir%).
        
        %TOMCAT_HOME%\bin\jspc -d %JSP_TEMP% -webapp %JSP_HOME%
        %JAVA_HOME%\bin\javac -d %TOMCAT_WORK_FOLDER% -classpath %CLASSPATH%
%JSP_TEMP%\*.java

But how do I configure Tomcat to stop compiling my JSP's and force it to use
my precompiled classes???

If I remove tools.jar I get the following exception:

Error: 500
Location: /cm/addServer.jsp
Internal Servlet Error:

javax.servlet.ServletException: sun/tools/javac/Main
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java,
Compiled Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
.java:194)
        at
com.appstream.cm.Console.ControlServlet.processRequest(ControlServlet.java:6
62)
        at
com.appstream.cm.Console.ControlServlet.doGet(ControlServlet.java:53)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
        at java.lang.Thread.run(Unknown Source)

Root cause:
java.lang.NoClassDefFoundError: sun/tools/javac/Main
        at
org.apache.jasper.compiler.SunJavaCompiler.compile(SunJavaCompiler.java:128)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java,
Compiled Code)
        at
org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
        at
org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
        at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspSe
rvlet.java:152)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:164)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java,
Compiled Code)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl
.java:194)
        at
com.appstream.cm.Console.ControlServlet.processRequest(ControlServlet.java:6
62)
        at
com.appstream.cm.Console.ControlServlet.doGet(ControlServlet.java:53)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java,
Compiled Code)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java,
Compiled Code)
        at java.lang.Thread.run(Unknown Source)


Thanks!!!

Eric W.

Reply via email to