我遇到了“找不到类'pkg.XSLTFunctions'。JRE 7 上的错误导致使用 Xalan 编译 XSL 失败。这在 JRE 6 中完美运行。以下是我的应用程序的一些细节。
该应用程序是一个 Win32 本机 EXE,它使用 JNI 加载 JVM,向系统类加载器添加一个 JAR,并使用 JNI 在该 JAR 中运行一个类。Java 类然后从 JAR 中取出一个 XSL 并尝试编译它。
JAR 还包含一个 Java 类,它是 Xalan Java 扩展,并在 XSL 中如此指定(如下所示)。
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:util="xalan://testSoe.XSLTFunctions"
exclude-result-prefixes="p util xalan">
但是,Xalan 找不到这个回调类,XSL 的编译失败。它出错了
ExecGroup-0:err:ERROR: 'Cannot find class 'testSoe.XSLTFunctions'.'
这在 JRE 6 上有效,而这个问题仅在 JRE 7 上可见。关于 JRE 6 和 7 之间可能导致这种行为的不同之处的任何指针?
谢谢,兰吉特