Hi, >I use URLClassLoader to create class loaders that manage jars in WEB- >INF/classes >In WEB-INF/classes I have many jars that are incompatible each other >(they have different classes with the same name inside).
I comment on the actual problem below, but if you don't mind me asking: why? This is ugly ;) >In the first case I tried the line: >classLoader.getResource("pippo.txt") > >and correctly the returned URL was: > file:/ ... /myapp/WEB-INF/classes/pippo.txt > >where "..." stands for $CATALINA_HOME >while, trying to get the second file: >classLoader.getResource("pippo.jar") > >tomcat returned the following url: > file:/ ... /work/Catalina/localhost/myapp/loader/pippo.jar > >but the directory "... /work/Catalina/localhost/myapp/loader/" does >not contain pippo.jar >that is placed in .../myapp/WEB-INF/classes/pippo.jar The one in $CATALINA_HOME/work is an unmodified copy, so it should be OK. But there's a bigger point here (actually two): - You cannot rely on a specific scheme (e.g. file:/) or format of the resource URL returned by the classloader, but you can rely on the classloader being able to find and resolve it. Only the latter should matter. If you're relying on the former, change your design. - What's you're doing is tricky at best. Having multiple copies of te same class in the same repository is not a good idea. If you do continue down this path, you should create a custom loader and replace Tomcat's default webapp classloader with your own by registering yours as the Loader element for your Context. Yoav Shapira http://www.yoavshapira.com This e-mail, including any attachments, is a confidential business communication, and may contain information that is confidential, proprietary and/or privileged. This e-mail is intended only for the individual(s) to whom it is addressed, and may not be saved, copied, printed, disclosed or used by anyone else. If you are not the(an) intended recipient, please immediately delete this e-mail from your computer system and notify the sender. Thank you. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]