我想使用basex对xml文件执行xquery操作,因为它似乎比基于“查询字符串”的筛选更“透明”。
我在运行Ubuntu18.04的PC上安装了basex (使用APT)。
然后,我开始运行手册中提供的示例。
嗯,sudo apt-get install basex并没有安装所需的一切(tagsoup.jar、xml-resolver.jar和jing.jar)。
我似乎已经找到了那些丢失的文件通过安装标签汤和京.至少警告信息停止了。
但是basex不以独立模式运行,如下所示:
$ basex
BaseX 8.5.1 [Standalone]
Try 'help' to get more information.
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer;
at jline.internal.InputStreamReader.(InputStreamReader.java:104)
at jline.console.ConsoleReader.setInput(ConsoleReader.java:330)
at jline.console.ConsoleReader.(ConsoleReader.java:248)
at jline.console.ConsoleReader.(ConsoleReader.java:236)
at jline.console.ConsoleReader.(ConsoleReader.java:224)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.basex.util.ConsoleReader$JLineConsoleReader.(ConsoleReader.java:152)
at org.basex.util.ConsoleReader.get(ConsoleReader.java:61)
at org.basex.BaseX.console(BaseX.java:180)
at org.basex.BaseX.(BaseX.java:166)有指引吗?
发布于 2019-01-09 21:26:42
我在18.04上运行了这个程序,对于丢失的3个jar文件也有相同的错误。我手动安装了以下每一个.jar文件,一切都运行良好。
xml-resolver-1.2.jar
tagsoup-1.2.1.jar
jing.jar (11/11/09)发布于 2019-08-19 09:46:50
根本原因在于jline是针对jdk9编译的。在这个蒙戈分号票上,可以得到不精确的解释。
因此,使用jdk 9运行basex应该可以。
https://askubuntu.com/questions/1070990
复制相似问题