javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet

今天在调代码的时候遇到了一个异常: javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet - 致命错误: "无法变异样式表", 从网上找到了解决方式, 以下贴出来以备后用.


问题的出现是由于JDK自带的XALAN是阉割版的,非常多功能没有,比方JAVA类型的方法调用。怎么办呢?

JAVA官方的写法是:

Apache - The org.apache classes, which have never been supported J2SE APIs but are used by the javax.xml package, have moved in 5.0 to com.sun.org.apache.package.internal so that they won't clash with more recent, developer-downloaded versions of the classes. Any applications that depend on the org.apache classes being part of the J2SE release must do one of the following to work in 5.0:

Code the application so it uses only the supported interfaces that are part of JAXP. 
Download the org.apache.xalan classes from Apache.


简单地说就是JDK从1.5以后整合了一些APACHE的类库,可是把包名从org.apache改成了com.sun.org.apache.package.internal以避免冲突。

所以那些被阉割的部分大家能够放心地把APACHE的包放进CLASSPATH而不用怕冲突。所以仅仅要下载一个XALAN.Jar包放到项目中就可以解决问题


原文地址:https://www.cnblogs.com/wzjhoutai/p/6890578.html