【发布时间】:2011-08-11 19:21:15
【问题描述】:
我需要使用 XSLT(现在从命令行)将一个 XML 文档转换为另一个。我必须使用 Java 1.4.2。基于此,有人推荐使用 Saxon 并提供了 XSLT。看起来很简单,它应该可以工作,但我迷路了。
我更多来自 .NET 环境,使用过 XML 和 XSLT,但没有使用过 Saxon,而且我在 Java 方面也没有那么强。
首先让我解释一下我的问题是什么以及到目前为止我所做的尝试:
错误:
C:\Projects\new_saxon_download>java net.sf.saxon.Transform -s:source.xml -xsl:style.xsl -o:output.xml
Exception in thread "main" java.lang.NoClassDefFoundError: org/xml/sax/ext/DefaultHandler2
引导我到这里的步骤:
- 我通过page 的链接下载了 Saxon-B
- 我还从这里找到了一些关于 SAX2 依赖项的信息 page,因此也获得了它。
- 在我的会话中设置 CLASSPATH:
set CLASSPATH=.;C:\Projects\new_saxon_download\saxon9.jar;C:\Projects\new_saxon_download\sax2r2.jar - 尝试转换:
java net.sf.saxon.Transform -s:source.xml -xsl:style.xsl -o:output.xml
然后我得到上面显示的错误。我尝试了多次谷歌搜索,但没有任何帮助。
任何建议或解决方案都会非常有帮助。
【问题讨论】:
-
您是否尝试将
-cp添加到您的java 命令行? (java -cp %CLASSPATH% net.sf.saxon.Transform -s:source.xml -xsl:style.xsl -o:output.xml) -
@DevNull 尝试了你的建议,但仍然是同样的错误。