Я хотел бы использовать basex для выполнения xquery операций на XML-файлах, как это, кажется, более "прозрачно", чем основанная на "строке запроса" фильтрация.
Я установил basex (использующий APT) на ПК под управлением Ubuntu 18.04.
Я затем начал пробегать примеры, обеспеченные в руководстве
Ну, sudo apt-get install basex
не устанавливал все необходимое (tagsoup.jar
, xml-resolver.jar
, и jing.jar
).
Я, кажется, нашел тех, которые недостающие файлы установкой освобождают для tagsoup и jing..., по крайней мере, остановленные предупреждающие сообщения.
Но 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.<init>(InputStreamReader.java:104)
at jline.console.ConsoleReader.setInput(ConsoleReader.java:330)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:248)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:236)
at jline.console.ConsoleReader.<init>(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.<init>(ConsoleReader.java:152)
at org.basex.util.ConsoleReader.get(ConsoleReader.java:61)
at org.basex.BaseX.console(BaseX.java:180)
at org.basex.BaseX.<init>(BaseX.java:166)
Руководство?
Я имею эту работу 18.04 и имел те же ошибки для 3 недостающих файлов банки.
Я установил каждое из следующих .jar
файлы вручную и все работает хорошо.
xml-resolver-1.2.jar
tagsoup-1.2.1.jar
jing.jar (11/11/09)
Первопричина прибывает из того, что jline был скомпилирован против jdk9. Объяснения Detailled доступны на этом билете дб монго.
Так выполнение basex с jdk 9 должно быть в порядке.