WebLogic: javax.xml.namespace.QName; local class incompatible
Problem:
The WebLogic Administration Server does not start with the following exception in stdout logs:
<Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason: There are 1 nested errors: weblogic.management.ManagementException: [Management:141266]Parsing Failure in config.xml: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -9120448469326609940, local class serialVersionUID = 4418622981286495151
Background & Analysis:
This is a known problem for Oracle. The problem is actually with the JRockit 1.5.0_07 version (and later) used with WebLogic Server 9.1 or 9.2, in which there is an incompatible change of the serialVersionUID of the javax.xml.namespace.QName class. Refer Known Problems.
Solution:
There are two solutions to eliminate the error. You may use any one of the following:
SOLUTION 1: Set a system property as follows:
com.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
SOLUTION 2: Add the following option to the java command in the script you use to start WebLogic Server:
-Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
Root Cause:
Incompatibility of JRockit 1.5.0_07 (or later) with WebLogic Server 9.1/9.2
NOTE:
(1) The solution above describes a successful problem-solving experience and may not be applicable to other problems with similar symptoms.
(2) Your rating of this post will be much appreciated. Also, feel free to leave comments.