我在文件夹中:
/cygdrive/d/ragsxq
我保留了一些简单的 X-Query stmts 以通过 Saxon X-Query 引擎执行...(Saxon 9.4 HE)
以下声明:
$ java -classpath /cygdrive/d/saxon/saxon9he.jar net.sf.saxon.Query -q:ragsXQuery.xq
给出:
java.lang.NoClassDefFoundError: net/sf/saxon/Query Caused by:
java.lang.ClassNotFoundException: net.sf.saxon.Query 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:
net.sf.saxon.Query. Program will exit. Exception in thread "main"
但下面的语句工作正常:
$ java -classpath ../saxon/saxon9he.jar net.sf.saxon.Query -q:ragsXQuery.xq
?!?!
与类加载器有关..?? 权限..?? 赛格温?嗯……
非常感谢您指出这种 Cygwin 行为!
但奇怪的是,java.lang.NoClassDefFoundError
当我尝试在 Mac OS Lion 上通过我的 Eclipse (Indigo) 运行 Xquery 时,我遇到了这个(与上面完全相同)......通过XQDT 插件,我必须在其中配置 XQuery通过提供 saxon9he.jar 的完整路径和主类即引擎,net.sf.saxon.Query
请注意,Windows-XP 上的类似设置工作正常。
这一次,我想这可能是一些 Classpath 问题或 Mac OS 的 Java 处理方式不同?