Classpath issue with .war files on iPlanet 6.0
807567Jul 8 2003 — edited Jul 11 2003Hi there,
I'm using iPlanet 6.0 Web Server (SP1, I think), and I have an issue.
We deploy a .war file as per normal. We go to the URL, and get a 500 error. Checking the error file gives us the following error (the application name has been blanked out with #####, and the server's domain name with <server>, but the actual package names remain -- they are libraries from ESRI):
----
[08/Jul/2003:13:27:20] info ( 2705): Internal Info: loading servlet /#####/index.jsp
[08/Jul/2003:13:27:21] info ( 2705): JSP: JSP1x compiler threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP/opt/iplanet/servers/https-<server>/c
onfig/../ClassCache/_jsps/_#####/_index_jsp.java:15: Package com.esri.aims.mtier.io not found in import.
import com.esri.aims.mtier.io.*;
^
/opt/iplanet/servers/https-<server>/config/../ClassCache/_jsps/_#####/_index_jsp.java:16: Class com
.esri.aims.mtier.model.map.layer.FeatureLayer not found in import.
import com.esri.aims.mtier.model.map.layer.FeatureLayer;
^
/opt/iplanet/servers/https-<server>/config/../ClassCache/_jsps/_#####/_index_jsp.java:17: Class com
.esri.aims.mtier.model.envelope.Envelope not found in import.
import com.esri.aims.mtier.model.envelope.Envelope;
^
/opt/iplanet/servers/https-<server>/config/../ClassCache/_jsps/_#####/_index_jsp.java:18: Class com
.esri.aims.mtier.model.acetate.Point not found in import.
import com.esri.aims.mtier.model.acetate.Point;
^
/opt/iplanet/servers/https-<server>/config/../ClassCache/_jsps/_#####/_index_jsp.java:19: Class com
.esri.aims.mtier.model.map.layer.query.Filter not found in import.
import com.esri.aims.mtier.model.map.layer.query.Filter;
^
/opt/iplanet/servers/https-<server>/config/../ClassCache/_jsps/_#####/_index_jsp.java:20: Class com
.esri.aims.mtier.model.map.layer.renderer.symbol.SimpleMarkerSymbol not found in import.
import com.esri.aims.mtier.model.map.layer.renderer.symbol.SimpleMarkerSymbol;
^
/opt/iplanet/servers/https-<server>/config/../ClassCache/_jsps/_#####/_index_jsp.java:21: Class com
.esri.aims.mtier.model.map.Map not found in import.
import com.esri.aims.mtier.model.map.Map;
^
7 errors
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:284)
at com.iplanet.server.http.servlet.NSServletEntity.load(NSServletEntity.java:252)
at com.iplanet.server.http.servlet.NSServletEntity.update(NSServletEntity.java:173)
at com.iplanet.server.http.servlet.NSServletRunner.Service(NSServletRunner.java:416)
[08/Jul/2003:13:27:21] warning ( 2705): Internal error: Failed to get GenericServlet. (uri=/#####/index.jsp,SCRIPT_NA
ME=/#####/index.jsp)
----
Hopefully that is readable -- basically, it can't find a bunch-o-classes. Now, normally, I would snicker, and say something smart about classpaths. However, I have already done this, and looked in all the places that I think should have these classes in (I shall just use the last eg, com.esri.aims.mtier.model.map.Map, rather than all of them):
----
# find /home/websites/#####/ |grep com.esri.aims.mtier.model.map.Map
/home/websites/#####/WEB-INF/classes/com/esri/aims/mtier/model/map/Map.class
# jar tvf /home/websites/#####/WEB-INF/lib/arcims_jconnect.jar |grep com.esri.aims.mtier.model.map.Map
33267 Wed Dec 04 15:50:14 GMT+09:30 2002 com/esri/aims/mtier/model/map/Map.class
----
So, as you can see, the relevant files are in not just one, but two places that I had assumed were in the classpath. Judging from the error messages, they are not. Am I doing something wrong here?
Here's some of the config...
The relevant line from web-apps.xml:
<web-app uri="/#####" dir="/export/home/websites/#####" enable="true"/>
The classpath from jvm12.conf:
jvm.classpath=/opt/iplanet/servers/plugins/servlets/examples/legacy/beans.10/SDKBeans10.jar
That's all that I can find that is relevant. Please ask if there is anything else I can give you (apart from access to the server or the application -- I can't give that).
Any ideas?