0

我有一个问题:我们能否序列化 net.sf.saxon.jaxp.TemplatesImpl 对象。我的问题:我无法序列化我的 net.sf.saxon.jaxp.TemplatesImpl 实例,任何人都可以帮助如何序列化我的对象。我得到了如下异常:

java.lang.ClassCastException:net.sf.saxon.jaxp.TemplatesImpl 无法转换为 java.io.Serializable

我正在使用以下依赖项:

<!-- https://mvnrepository.com/artifact/net.sf.saxon/Saxon-HE -->
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
<version>9.8.0-4</version>
</dependency>

和我用来转换的 javax.xml api。

4

1 回答 1

1

有一次,我们确实尝试过允许您使用 Java 序列化来制作已编译样式表的持久副本。它根本没有工作。有很多问题。例如。编译后的样式表引用了一些不可序列化的 Java 类(如 RuleBasedCollat​​or)。此外,序列化表单的大小如此之大,以至于从源 XSLT 重新编译通常比反序列化已编译的表单更快。导入的模式也是一个问题。我现在忘记了所有问题是什么,但我们最终决定废弃这个设施。

取而代之的是,Saxon-EE 现在能够将已编译的样式表导出为 Saxon 定义的 XML 表示(样式表导出文件或 SEF),可以在同一台或不同的机器上重新加载。这也是 Saxon-JS 的基础,它允许导出的样式表在浏览器中执行。

于 2017-08-31T11:33:13.870 回答