1

我下载Xalan-Java Version 2.7.1了,解压,然后PATH为java和CLASSPATHxalan设置:

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

问题是什么 ?有人有想法吗?

谢谢。

4

2 回答 2

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它是行不通的!

于 2011-11-20T08:37:54.243 回答
1

并非在所有情况下都需要序列化程序。例如,如果您的 XSLT 正在使用 pipeDocument,那么就需要它。

此错误表明未找到 xalan.jar 的“org.apache.xalan.xslt.Process”。重新检查您的类路径。排除 hello.xml 和 hello.xsl 以避免它们混淆水。如果您的类路径是正确的,仅此一项

java org.apache.xalan.xslt.Process

将提供输出(Xalan-J 命令行选项)。

于 2012-05-26T09:27:46.160 回答