Bug 200118
| Summary: | xalan-j2 -> XSLT Error (java.lang.NoClassDefFoundError): org.apache.xalan.templates.ElemValueOf | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Caolan McNamara <caolanm> | ||||
| Component: | xalan-j2 | Assignee: | Archit Shah <archit.shah> | ||||
| Status: | CLOSED RAWHIDE | QA Contact: | |||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | rawhide | CC: | aph, fitzsim | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2006-07-26 19:06:40 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Caolan McNamara
2006-07-25 16:09:42 UTC
Created attachment 133000 [details]
sample xsl
I'm not sure where exactly the real bug lies.
org.apache.xalan.templates.ElemValueOf.execute() uses
org.apache.xml.serializer.SerializationHandler:
public void execute(TransformerImpl transformer) throws TransformerException
{
XPathContext xctxt = transformer.getXPathContext();
SerializationHandler rth = transformer.getResultTreeHandler();
but org.apache.xml.serializer.SerializationHandler is defined in
xalan-j2-serializer.jar
So I can run your command with
java -classpath
/usr/share/java/xalan-j2.jar:/usr/share/java/xalan-j2-serializer.jar
org.apache.xalan.xslt.Process -XSL langfilter.xsl
The real mystery is why this didn't fail before. Is the split of
xalan-j2-serializer and xalan-j2 recent?
I've also seen tis problem cause problems with ant, where
jaxp_transform_impl.jar also referes to a class in xalan-j2-serializer.jar
I've found refs to this breaking Ant on the web, e.g: http://sipx-wiki.calivia.com/index.php/SipX_ConfigServer_Tips << For example after upgrading from xalan 2.6 to xalan 2.7 my Ant started complaining about org/apache/xml/serializer/SerializerTrace class not being found. Google search reveals that this class is now in new xalan-j2-serializer.jar. To make ant load this jar you can do that following. echo "xalan-j2-serializer.jar" > sipxconfig sudo mv sipxconfig /etc/ant.d >> yes, the split is new as of 2.7.0, but note that the META-INF/MANIFEST.MF of xalan-j2.jar has "Class-Path: xercesImpl.jar xml-apis.jar serializer.jar" so it looks like that xalan-j2-serializer.jar was intended to be called serializer.jar and picked up through this mechanism. So perhaps fixing the MANIFEST.MF to refer to the fedora names of these jars is the correct fix for that problem Actually as an aside, I did log a bug when 2.7.0 was initially released to upgrade to it as early as possible in the rawhide cycle to flush out any problems with the new separate serializer.jar early in the rawhide cycle :-) Ah, well caught! Okay, so we need to link xalan-j2-serializer.jar to serializer.jar, then? What would be best? From Vivek Lakshmanan: xalan-j2-2.7.0-4jpp_4fc is now in dist-fc6-head. It contains a patch to replace occurrences of serializer.jar in MANIFEST files to xalan-j2-serializer.jar. xalan-j2-2.7.0-4jpp_4fc has been retagged into dist-fc6. |