Re: Conflicts between 2 lib in Tomcat 4.0.3

2003-02-04 Thread Elodie Tasia

 Or maybe he is using  the old Xerces (1.4.4) with the new Xerces(2.x). 
 They have make huge changes between the 2 versions and backward 
 compatibility is no longer supported (Xerces 1.4.4 doesn't fully 
 supports JAXP, Xerces 2.x does). They probably use a public API, but not 
 the JAXP one. You will have to stick with that version or ask other app 
 to update to Xerces 2.x :-(

I thought the same thing... last week, ant I tried ti update myself the olds apps 
(because the developpers have gone), but I lost too time...

 Also, the classloader will not properly load the second jar since it 
 doesn't load a class that is in memory. Since your 2 xerces share some 
 base classes, that's probably why it doesn't work.
That's exactly the problem : when I try to access to new methods in xerces2, I get an 
exception. So why does Tomcat load the older librairy before the newer ? Does it know 
which one is the old ?


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




Conflicts between 2 lib in Tomcat 4.0.3

2003-02-03 Thread Elodie Tasia
Hi,

I'm working with TC 4.0.3. In the WEB-INF/lib directory, I've got 2 libraries : 
xerces.jar (I think it's an old Xerces, I didn't put myself there : someone else need 
it) and xercesImpl.jar (a newer version of xerces).
I coded a class that need xerces2, but when I launch it (via a servlet) in my Tomcat, 
it throws a NoSuchMethoError cause it doesn't take the good jar !
How can I force TC to take the new librairy ?

Thanx in advance

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




Re: Conflicts between 2 lib in Tomcat 4.0.3

2003-02-03 Thread Jacob Kjome

Put it in CATALINA_HOME/common/endorsed or common/lib.  You aren't supposed 
to put endorsed packages such as javax.* and org.w3c.* in WEB-INF/lib.  It 
causes all sorts of problems and violates the Sun classloading spec which 
Tomcat, as of 4.0.2, enforces.

Jake

At 10:11 AM 2/3/2003 +0100, you wrote:
Hi,

I'm working with TC 4.0.3. In the WEB-INF/lib directory, I've got 2 
libraries : xerces.jar (I think it's an old Xerces, I didn't put myself 
there : someone else need it) and xercesImpl.jar (a newer version of xerces).
I coded a class that need xerces2, but when I launch it (via a servlet) in 
my Tomcat, it throws a NoSuchMethoError cause it doesn't take the good jar !
How can I force TC to take the new librairy ?

Thanx in advance

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


Re: Conflicts between 2 lib in Tomcat 4.0.3

2003-02-03 Thread Elodie Tasia
I already tried to remove those libs from WEB-INF/lib to CATALINA_HOME/common/lib or 
CATALINA_HOME/lib, but all the classes in WEB-INF/classes that were coded by another 
developpers didn't worked any more !


 Put it in CATALINA_HOME/common/endorsed or common/lib.  You aren't supposed 
 to put endorsed packages such as javax.* and org.w3c.* in WEB-INF/lib.  It 
 causes all sorts of problems and violates the Sun classloading spec which 
 Tomcat, as of 4.0.2, enforces.
 
 Jake
 
 At 10:11 AM 2/3/2003 +0100, you wrote:
 Hi,
 
 I'm working with TC 4.0.3. In the WEB-INF/lib directory, I've got 2 
 libraries : xerces.jar (I think it's an old Xerces, I didn't put myself 
 there : someone else need it) and xercesImpl.jar (a newer version of xerces).
 I coded a class that need xerces2, but when I launch it (via a servlet) in 
 my Tomcat, it throws a NoSuchMethoError cause it doesn't take the good jar !
 How can I force TC to take the new librairy ?
 
 Thanx in advance
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

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




Re: Conflicts between 2 lib in Tomcat 4.0.3

2003-02-03 Thread Jacob Kjome

hmm

Seems to me that they might have been accessing the Xerces implementation 
classes rather than just the public interfaces.  If they were doign things 
like loading classes dynamically such as using 
Class.forName(com.mypackage.MyClass) you would get exactly this problem 
because that will only look for the class in the current classloader 
instead of looking at all available classloaders.  If you can post a 
stacktrace, we might be able to make that determination.  Without a full 
stack trace, no one will be able to help you much further.  Also, in what 
environment was all this working before?  A previous versions of 
Tomcat?  If so, which version?  And why not stick with that versionor 
make the developers fix the bad coding?

Jake

At 04:25 PM 2/3/2003 +0100, you wrote:
I already tried to remove those libs from WEB-INF/lib to 
CATALINA_HOME/common/lib or CATALINA_HOME/lib, but all the classes in 
WEB-INF/classes that were coded by another developpers didn't worked any more !


 Put it in CATALINA_HOME/common/endorsed or common/lib.  You aren't 
supposed
 to put endorsed packages such as javax.* and org.w3c.* in WEB-INF/lib.  It
 causes all sorts of problems and violates the Sun classloading spec which
 Tomcat, as of 4.0.2, enforces.

 Jake

 At 10:11 AM 2/3/2003 +0100, you wrote:
 Hi,
 
 I'm working with TC 4.0.3. In the WEB-INF/lib directory, I've got 2
 libraries : xerces.jar (I think it's an old Xerces, I didn't put myself
 there : someone else need it) and xercesImpl.jar (a newer version of 
xerces).
 I coded a class that need xerces2, but when I launch it (via a 
servlet) in
 my Tomcat, it throws a NoSuchMethoError cause it doesn't take the good 
jar !
 How can I force TC to take the new librairy ?
 
 Thanx in advance
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


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


Re: Conflicts between 2 lib in Tomcat 4.0.3

2003-02-03 Thread Jeanfrancois Arcand
Or maybehe is using  the old Xerces (1.4.4) with the new Xerces(2.x). 
They have make huge changes between the 2 versions and backward 
compatibility is no longer supported (Xerces 1.4.4 doesn't fully 
supports JAXP, Xerces 2.x does). They probably use a public API, but not 
the JAXP one. You will have to stick with that version or ask other app 
to update to Xerces 2.x :-( 

Also, the classloader will not properly load the second jar since it 
doesn't load a class that is in memory. Since your 2 xerces share some 
base classes, that's probably why it doesn't work.

-- Jeanfrancois

Jacob Kjome wrote:


hmm

Seems to me that they might have been accessing the Xerces 
implementation classes rather than just the public interfaces.  If 
they were doign things like loading classes dynamically such as using 
Class.forName(com.mypackage.MyClass) you would get exactly this 
problem because that will only look for the class in the current 
classloader instead of looking at all available classloaders.  If you 
can post a stacktrace, we might be able to make that determination.  
Without a full stack trace, no one will be able to help you much 
further.  Also, in what environment was all this working before?  A 
previous versions of Tomcat?  If so, which version?  And why not stick 
with that versionor make the developers fix the bad coding?

Jake

At 04:25 PM 2/3/2003 +0100, you wrote:

I already tried to remove those libs from WEB-INF/lib to 
CATALINA_HOME/common/lib or CATALINA_HOME/lib, but all the classes in 
WEB-INF/classes that were coded by another developpers didn't worked 
any more !


 Put it in CATALINA_HOME/common/endorsed or common/lib.  You aren't 
supposed
 to put endorsed packages such as javax.* and org.w3c.* in 
WEB-INF/lib.  It
 causes all sorts of problems and violates the Sun classloading spec 
which
 Tomcat, as of 4.0.2, enforces.

 Jake

 At 10:11 AM 2/3/2003 +0100, you wrote:
 Hi,
 
 I'm working with TC 4.0.3. In the WEB-INF/lib directory, I've got 2
 libraries : xerces.jar (I think it's an old Xerces, I didn't put 
myself
 there : someone else need it) and xercesImpl.jar (a newer version 
of xerces).
 I coded a class that need xerces2, but when I launch it (via a 
servlet) in
 my Tomcat, it throws a NoSuchMethoError cause it doesn't take the 
good jar !
 How can I force TC to take the new librairy ?
 
 Thanx in advance
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]


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





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