2012-03-24 77 views
1

作爲項目的一部分,我被要求執行XML到HTML的轉換。我必須使用Xalan版本2.7.0。找不到主要類:org.apache.xalan.xslt.Process

然而,當我在命令提示符下設置CLASSPATH中的Xalan:

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

http://stackoverflow.com/a/8200380/14419 – 2012-03-24 14:06:47

回答

4

繼上面提到的Mads Hansen提供的鏈接之後,我試了一下。我得到它的工作的所有權利,而不必在classpath指定serializer.jar,但我沒有包括調用本身的類路徑選項:

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