我有一个简单的 jar 测试程序,用于用 xquery 文件解析 xml。问题是在 xquery 文件中我声明了一个 java 命名空间:
declare namespace java="java:MyString";
然后为了测试目的,我只有一个静态方法 toString(Object o)。
当我在 Eclipse 之外执行它时(当我手动设置类文件夹时,他正确管理了类路径)我收到标题中的错误:
> C:\>java -jar XQueryJava.jar
> -xq XQuery\test.xq -xml XQuery\test.xml Error on line 9 of XQuery\test.xml: XPST0017: Cannot find a matching 1-argument
> function named {java:MyString}toString() ; SystemID: XQuery\test.xml;
> Line#: 9; Column#: -1 net.sf.saxon.trans.StaticError: Cannot find a
> matching 1-argument function named {java:MyString}toString()
> at net.sf.saxon.query.UnboundFunctionLibrary.bindUnboundFunctionCalls(UnboundFunctionLibrary.java:114)
> at net.sf.saxon.query.StaticQueryContext.bindUnboundFunctionCalls(StaticQueryContext.java:1479)
> at net.sf.saxon.query.QueryParser.makeXQueryExpression(QueryParser.java:106)
> at net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:472)
> at net.sf.saxon.query.StaticQueryContext.compileQuery(StaticQueryContext.java:502)
> at xpath.AffichageXPath.execute(AffichageXPath.java:91)
> at xpath.AffichageXPath.main(AffichageXPath.java:49)
我尝试使用“-cp”和将 .class 文件放入的文件夹:
java --class-path XQuery\class -jar XQueryJava.jar -xq XQuery\test.xq -xml XQuery\test.xml
但还是同样的问题。
如果我将类文件放在与 jar 相同的文件夹中,一切都很好。为什么它不适用于 CP 参数?我以为这是重点...
任何的想法 ?
郎朗坤
相关分类