Имейте в виду, что различные комбинации JVM / контейнера / загрузчика классов имеют разные мнения о том, какие классы следует загружать из пути начальной загрузки в сравнении с путем классов приложения / веб-приложения.
Это осложняется тем фактом, что serialver всегда сначала загружается из bootclasspath, поэтому вам может потребоваться использовать -J-Xbootclasspath, как показано ниже, для имитации различного поведения:
f=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Classes/
serialver -J-Xbootclasspath:.:$f/dt.jar:$f/classes.jar:$f/ui.jar javax.xml.namespace.QName
Другой подход заключается в использовании javap, например:
javap -verbose -bootclasspath . javax.xml.namespace.QName | sed -n -e '/static.*serialVersionUID/{N;p;}'