-
Bug
-
Resolution: Timed out
-
Low
-
None
-
4.2, 4.3, 4.4, 4.4.1
-
Trunk 5.0-SNAPSHOT
-
4.02
-
Severity 3 - Minor
-
-
We ship with two XSLT libraries: xalan and saxon. The way that TransformerFactory finds an implementation (as we ship now) is too look for META-INF/services/javax.xml.transform.TransformerFactory on the classpath and then use the class listed therein (ala ServiceLoader). The problem is that both xalan and saxon ship with a META-INF/services/javax.xml.transform.TransformerFactory file which means that the library chosen to implement TransformerFactory depends on which of the two files the classloader decides to return first.
This basically means that the XSLT library used in JIRA is completely dependent on the classloader which in turn is probably dependent on the order that jar files are listed in the file system. This is not a good situation to be in.