私はフォルダにいます:
/cygdrive/d/ragsxq
ここでは、Saxon X-Queryエンジンを介して実行されるいくつかの単純な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 での同様のセットアップは正常に機能することに注意してください。
今回は、クラスパスの問題か、Mac OS の Java の扱い方が違うのではないでしょうか?