Until yesterday, all the applications i could execute with my JDK 1.5.0u18 were also able to execute with Java RTS 2.1. And it has always seemed logical to me.
However, this morning i've tried to execute an application server (which is JavaEE 5 certified) with both JVMs. And surprisingly, i got an exception with Java RTS and i didn't get any with the "normal" JVM. And it didn't seem logical to me.
What could have happened? Does Java RTS have a different Java classes' implementation?
Thanks for answering, David.
Reading the code of the class that was used, i found out that the error is caused by a NoClassDefFoundError. What is really weird. Do you want me to post here the message i got?
(I mean "Isn't it a problem to mention names and etc?")
I'm not using ITC, all that i did was changing the $JAVA_HOME variable from the path of my jdk 1.5.0_18 to the JRTS's path and executing it again.
Why would the initialization of a class fail in Java RTS but not in a jdk 5.0?
This is the error message i got :
java.lang.IllegalStateException: Cannot create the Nullable object, a referenced class cannot be loaded: org/ow2/jonas/service/ServiceException
Reading the trace i tried to find the line where the IllegalStateException is loaded and i found
[Loaded org.ow2.jonas.launcher.felix.util.JOnASUtils from file:/opensusehome/rodrigjc/Desktop/jonas-full-5.1.0-RC3/lib/bootstrap/felix-launcher.jar]
[Loaded java.lang.IllegalStateException from /home/rodrigjc/bin/jrts2.1/jre/lib/rt.jar]
Should I deduct that the line above contains the class that called this exception or it may not be related?
If the problem is the ITC, turning it off (-XX:-ITCRT) shouldn't solve it (i say "should" because i've tried it and i still have the same error)?