作为项目的一部分,我被要求进行XML到HTML的转换。我必须使用Xalan Version 2.7.0。
但是当我在命令提示符中为xalan设置CLASSPATH时:
set CLASSPATH=%CLASSPATH%;I:\Xalan\xalan-j_2_7_0\xalan.jar
并尝试按如下方式进行转换:
java org.apache.xalan.xslt.Process -in Multimedia\StudentDeals.xml -xsl Multimedia\StudentDeals.xsl -out Multimedia\Deals.html
我总是这样:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xalan/xslt
/Process
Caused by: java.lang.ClassNotFoundException: org.apache.xalan.xslt.Process
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: org.apache.xalan.xslt.Process. Program will exit
有谁知道我为什么会收到此错误以及如何解决此问题? 感谢
答案 0 :(得分:5)
按照Mads Hansen上面提供的链接,我尝试了一下。我让它工作正常,无需在类路径中指定serializer.jar,但我确实在调用本身中包含了classpath选项:
java -classpath D:\XSLT_engines\xalan-j_2_7_1\xalan.jar org.apache.xalan.xslt.Process -in input.xml -xsl transformation.xsl -out output.xml