*This message was transferred with a trial version of CommuniGate(tm) Pro*
Hi folks,
Okay, I'm kind of new to this java stuff, so please bear with me. I think I have it
almost done but have reached a stumbling block which I cannot resolve by searching
through the archives. I'm sure its a simple one, but It's got me stumped.
FOR---
Solaris 2.6
Apache 1.3.12
Tomcat 3.2
mod_jk
JDK 1.3
I have my apache set up to use virtual hosts.
I have the tomcat set up pretty much stock, with the exception that I added ajp13(i'm
not using it in my apache configuration though) and I commented out the /examples,
/admin, etc. now all i have in my server.xml file for context is
<Context path="/java"
docBase ="/export/home/cci/public_html/java"
croseContext="true"
debug="0"
reloadable="true">
</Context>
then in my httpd.conf file i have
<VirtualHost 111.111.111.111>
ServerAdmin [EMAIL PROTECTED]
DocumentRoot /export/home/cci/public_html
ServerName my.domain.com
DirectoryIndex index.cgi index.pl index.html index.shtml
<Directory /export/home/cci/public_html>
Options All
</Directory>
<Directory /export/home/cci/public_html/cgi-bin>
Options All
</Directory>
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /export/home/cci/public_html/logs/error_log
TransferLog /export/home/cci/public_html/logs/access_log
<Directory "/export/home/cci/public_html/java">
Options Indexes FollowSymLinks
</Directory>
#
# The following line mounts all JSP files and the /servlet/ uri to tomcat
#
JkMount /java/servlet/* ajp12
JkMount /java/*.jsp ajp12
#
# The following line prohibits users from directly accessing WEB-INF
#
<Location "/java/WEB-INF/">
AllowOverride None
deny from all
</Location>
#
# The following line prohibits users from directly accessing META-INF
#
<Location "/java/META-INF/">
AllowOverride None
deny from all
</Location>
</VirtualHost>
If I http to my virtualhost:8080 the stock tomcat screen comes up.
If I http to my virtualhost:8080/java then I get the directory index of the
/export/home/cci/public_html/java(as I would expect).
I have created a quick jsp to test my setup which just does the basic html tags and
then does a
<% out.println("test") %>
if I go to http://my.domain.com/java i get the same directory listing as I would
expect.
the problem is that when i click on test.jsp, i get the following output.(for either
the servername:8080/java or the virtual host).
Error: 500
Location: /java/test.jsp
Internal Servlet Error:
javax.servlet.ServletException: sun/tools/javac/Main
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:399)
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:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
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:245)
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(JspServlet.java:152)
at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:164)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
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:797)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
at
org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
at java.lang.Thread.run(Thread.java:484)
I checked my workers.properties and it appears to be all okay. the tomcat_home and
java_home are set correct. I can run other java applications okay.
can anybody help me with this? I'm totally stumped and don't know where to look. I
can't find that much documentation on setting up mod_jk with virtual hosts. I checked
out the tomcat_apache howto and the minimalistic approact to setting up tomcat and all
the other docs that come with it. I'm sure its just something simple i have missed
somewhere.
any help would be most appreciated.
bill