Harmsen, Jan wrote:

Remy Maucherat wrote:

Any update on this ? This is obviously a big problem if the issue is valid, so I'd really appreciate your help.



Hi Remy,

I set up a test case and it looks like it's a Tomcat-5 problem.
The webapp works on Tomcat-4.1, on Tomcat-5.0 the resources within
xsd.resources.jar cannot be reached.


tested environment: Win2k Prof, SuSE Linux 8.2


Log Win2k:
####################################
05.08.2003 18:10:32 org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /xsd-testcase from URL
file://C:/Programs/eclipse/workspace/xsdTestCase/build
Wrapped exception
java.io.FileNotFoundException:
C:\ApacheGroup\jakarta-tomcat-5.0.5\work\Catalina\localhost
\xsd-testcase\loader\org\eclipse\xsd\cache\www.w3.org\2001\MagicXMLSchema.xs
d (The system cannot find the path specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
#####################################


Log SuSE Linux 8.2 #################################### Aug 5, 2003 5:52:47 PM org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /xsdtestcase from URL file:/home/jan/eclipse/XSDTestcase/build Wrapped exception java.io.FileNotFoundException: /opt/jakarta-tomcat-5.0/work/Catalina/localhost /xsdtestcase/loader/org/eclipse/xsd/cache/www.w3.org/2001/MagicXMLSchema.xsd (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:103) ####################################

The webapp is here:
http://tamino.demozone.softwareag.com/xsdTestCaseWebApp.zip

The JavaDoc for the relevant classes is here:

Eclipse EMF:
http://dev.eclipse.org/viewcvs/indextools.cgi/%7Echeckout%7E/emf-home/docs/j
avadoc/index.html
Eclipse XSD:
http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/xsd-home/docs/javado
c/index.html

This is how the URI to the xsd resource in xsd.resources.jar is created
(from XSDSchemaImpl.java):

String baseURL = XSDPlugin.INSTANCE.getBaseURL().toString();
getGlobalResourceSet().getLoadOptions().put("XSD_MAGIC_XML_SCHEMA",
XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001);
Resource magicSchemaForSchema2001Resource = getGlobalResourceSet().getResource
(URI.createURI(baseURL +
"cache/www.w3.org/2001/MagicXMLSchema.xsd"), true);

Thanks and I'll investigate. This seems invalid to me, though (they can't use a base URL, and expect the CL to have a "straight" organization of the classes). I've switched to a different mechanism in 5.0 to avoid careless accesses to resources which are inside JARs, which cause resource leaks (and seem to be exactly what Eclips seems to like doing). You have to load CL resources through CL.getResource or CL.getResourceAsStream.


As a workaround, I belive you could try extracting your classes to /WEB-INF/classes.

Remy



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to