2013-06-27 27 views
-1

我目前正在嘗試在Perl腳本中使用XSLT2模塊。由於包含此模塊,因此在運行腳本時目前出現錯誤。主要的錯誤說法是:在Perl中使用XML :: Saxon :: XSLT2錯誤

Transformer.java:1: error: package net.sf.saxon.s9api does not exist 

我假設這意味着,當我安裝XML ::撒克遜:: XSLT2,它不知道在哪裏撒克遜jar文件了。我在我的計算機上,但我不知道如何讓Inline :: Java或XSLT2識別它在那裏,或者安裝它或做我必須做的任何事情。對不起,我對Java和classpaths不是太瞭解,在這個問題上我不太瞭解。

回答

0

該模塊使用Saxon 9.x通過 Inline :: Java實現XSLT 1.0和2.0。

該公司預計將安裝在薩克森任:

'/usr/share/java/saxon9he.jar' 

或:

'/usr/local/share/java/saxon9he.jar' 

未來的版本應該是更加靈活。 saxon9he.jar文件可以是 找到http://saxon.sourceforge.net/ - 只需下載Saxon-HE 9.x的最新Java 版本,打開Zip存檔,提取saxon9he.jar 並將其保存到上面兩個目錄中的一個。

http://metacpan.org/pod/XML::Saxon::XSLT2

所以只是cd到你目前擁有的撒克遜jar文件和類型目錄:

$ mv saxon9he.jar /usr/local/share/java/ 
+0

所以剛纔還說我把它保存到工作目錄。這對我現在正在做的事很好,但我想創建一個獨立的可執行文件。通常從perl創建可執行文件並不壞,但我不知道如何在進入可執行文件時指定正確的路徑。是否有指定一個路徑,讓我只保留在與模塊文件相同的路徑的jar文件。 – OstrichProjects

+0

你交叉在perlmonks發佈這個,所以謝謝你浪費我的時間。 – 7stud