【问题标题】:Using XML::Saxon::XSLT2 in Perl Errors在 Perl 错误中使用 XML::Saxon::XSLT2
【发布时间】:2013-06-27 20:13:08
【问题描述】:

我目前正在尝试在 Perl 脚本中使用 XSLT2 模块。由于包含此模块,我目前在运行脚本时遇到错误。主要的错误说明是:

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

我假设这意味着当我安装 XML::Saxon::XSLT2 时,它不知道 Saxon jar 文件在哪里。我的电脑上有它,但我不确定如何让 Inline::Java 或 XSLT2 识别它的存在或安装它或做我必须做的任何事情。抱歉,我真的不太了解 Java 和类路径,所以我在这个问题上有点不知所措。

【问题讨论】:

    标签: java perl xslt-2.0 perl-module


    【解决方案1】:

    此模块使用 Saxon 9.x 通过以下方式实现 XSLT 1.0 和 2.0 内联::Java。

    它希望 Saxon 安装在以下任一位置:

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

    或:

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

    未来的版本应该更加灵活。 saxon9he.jar 文件可以是 在http://saxon.sourceforge.net/ 找到 - 只需下载最新的 Java Saxon-HE 9.x 发布,打开 Zip 存档,解压 saxon9he.jar 并将其保存到上述两个目录之一。

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

    所以只需 cd 到您当前拥有 saxon jar 文件的目录并输入:

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

    【讨论】:

    • 所以只需添加我保存的目录即可。这对我现在正在做的事情很好,但我想创建一个独立的可执行文件。通常从 perl 创建可执行文件并不坏,但我不知道当它进入可执行文件时我将如何指定正确的路径。无论如何要指定一个路径,让我将 jar 文件保存在与模块文件相同的路径中。
    • 你在 perlmonks 上交叉发布了这个,所以谢谢你浪费我的时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多