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包放到项目中就可以解决问题


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: javax.xml.transform.TransformerExceptionjava.lang.NullPointerException是一个XML转换器异常,常见于Java环境下。 NullPointerException(空指针异常)是Java编程语言中常见的异常类型之一,通常当一个对象为null时,对其进行访问或操作会导致该异常的抛出。 在该异常中,javax.xml.transform.TransformerException是一个由XML转换器抛出的异常,它表示在XML转换过程中发生了错误。 具体而言,当出现javax.xml.transform.TransformerException异常时,常见的原因是在使用XML转换器进行转换时,出现了java.lang.NullPointerException异常。 这可能是由于以下原因导致的: 1. XML文档或样式表中存在空的元素或节点,造成空指针异常; 2. 在XML转换过程中使用到了空的变量或对象,导致空指针异常; 3. XML文档或样式表的格式或结构存在问题,导致解析异常而引发空指针异常; 4. 转换器本身的bug或错误,导致空指针异常。 解决该问题的方法包括: 1. 检查XML文档或样式表的结构和格式,确保其正确性; 2. 在使用到变量或对象之前,进行必要的判空操作,避免空指针异常的发生; 3. 更新或使用更高版本的XML转换器,以修复可能的bug。 总之,javax.xml.transform.TransformerExceptionjava.lang.NullPointerException是一个由XML转换器抛出的异常,通常由于XML文档或样式表的问题或代码bug引发,需要检查和修复相关问题以解决该异常。 ### 回答2: javax.xml.transform.TransformerException: java.lang.NullPointerException是一个在XML转换过程中可能出现的异常。该异常通常是由于代码中存在空指针引用而引发的。 空指针异常(NullPointerException)通常发生在试图调用空对象的方法或访问空对象的属性时。在这种情况下,代码中的某个对象没有被正确地初始化或赋值,导致在使用该对象时发生错误。当XML转换器(Transformer)在执行转换操作时遇到空指针异常时,会抛出TransformerException。 要解决这个问题,我们需要仔细检查代码并找到引发空指针异常的地方。首先,我们可以检查与Transformer相关的代码,确保传递给Transformer的参数和对象都正确初始化并不为空。还应该检查Transformer对象自身是否被正确地创建和初始化。 另外,还可以检查输入的XML文档是否符合预期的格式和结构,特别是在进行解析和转换之前。如果XML文档有缺少必需的元素或属性,也有可能导致空指针异常。 如果没有通过上述方法解决问题,我们还可以尝试使用调试工具来跟踪代码的执行过程,并找到导致空指针异常的具体位置。在找到问题的根源后,我们可以根据具体情况采取相应的修复措施,例如添加缺失的初始化代码、调整参数传递方式,或者处理可能引发异常的边界情况。 总之,请注意在编写代码时避免空指针异常的发生,要进行良好的参数和对象的初始化,并进行适当的错误处理和异常处理,以提高代码的稳定性和可靠性。 ### 回答3: javax.xml.transform.TransformerException: java.lang.NullPointerException是一种异常,通常在使用Java XML转换器时发生。这个异常表示在转换过程中发生了一个空指针异常。 空指针异常是指当代码试图使用一个空引用时引发的异常。在这种情况下,代码中可能存在一个未初始化的对象或变量,或者某个方法返回了一个空引用,导致在后续代码中无法执行相关操作而触发空指针异常。 出现javax.xml.transform.TransformerException: java.lang.NullPointerException的可能原因如下: 1. XML文档为空或转换器无法访问XML文档:检查代码中的XML文档路径是否正确,并确保文件存在并且可读。 2. XML文档中的元素或属性为空:检查XML文档的内容,确保所有需要转换的元素或属性都存在且非空。 3. 转换器配置问题:检查代码中的转换器配置,如输出格式、编码等参数是否正确设置。 解决该异常的方法如下: 1. 检查相关对象和变量是否正确初始化,并确保不是空引用。 2. 检查XML文档是否符合转换器的要求,包括结构、内容等方面。 3. 检查转换器的配置是否正确设置,确保输出格式、编码等参数与要求一致。 4. 使用调试工具跟踪代码,找出导致空指针异常的具体位置,并做相应修复。 总之,出现javax.xml.transform.TransformerException: java.lang.NullPointerException异常时,需要逐步排查问题,定位到导致空指针异常的具体代码,并检查并修复相关问题,以确保顺利进行XML转换操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值