我下载了Xalan-Java Version 2.7.1
,将其解压缩,然后为java设置PATH
,为xalan设置CLASSPATH
:
set path=%PATH%;c:\Program Files\Java\jre6\bin
set classpath=%CLASSPATH%;c:\Xalan\
(我也尝试仅为xalan.jar,xercesImpl.jar,xml-apis.jar设置类路径)
测试简单的Hello World示例(或任何其他示例)时:
java org.apache.xalan.xslt.Process -in hello.xml -xsl hello.xsl -out hello.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)
好的,这就是我做的工作,最后:
将xalan.jar
复制到c:\Program Files (x86)\Java\jre6\lib\
从命令行运行这样的文件:
java -classpath "c:\Program Files (x86)\Java\jre6\
lib\xalan.jar";"c:\xalan-j_2_7_1\serializer.jar" org.apache.xalan.xslt.Process -
in hello.xml -xsl hello.xsl
没有serializer.jar
它不起作用!
答案 1 :(得分:1)
在所有情况下都不需要串行器。例如,如果您使用的是XSLT,那么就需要使用pipeDocument。
此错误指向未找到xalan.jar的“org.apache.xalan.xslt.Process”。重新检查您的类路径。排除hello.xml和hello.xsl以避免混淆水。如果你的类路径是正确的,那就单独使用
java org.apache.xalan.xslt.Process
将提供输出(Xalan-J命令行选项)。