jetty - Basex servlet 看不到现有数据库

标签 jetty centos war basex

我在 Linux 机器上安装了 basex。安装运行良好,我能够编辑 .basex 文件以将任何执行指向主数据库,并且可以从任何地方运行客户端并连接。

我也有运行 basex war 包的 jetty6,它也可以运行,可以访问,并返回有效的休息响应。

我的问题是其余响应显示没有可用资源,据我所知这意味着它没有连接到我现有的数据库,而是创建(或创建)它自己的。我已将 web.xml 的 dbpath 变量更改为我在 .basex 文件中使用的 BaseXData 路径,重新打包 .war,并重新启动 jetty 但没有成功。

我需要更改什么才能让 basex 的 servlet 看到一个已经可用的数据库文件夹?

更新: 每次我运行 servlet 时,它似乎都指向 war 中的数据文件夹,无论我在 web.xml 中的 dbpath 参数中放置了什么。我假设/myfolder/BaseXData 将被视为绝对路径,但 war 似乎默认为它的数据文件夹,而没有给我一个错误,如果我告诉它去,它看不到。

我可以通过用符号链接(symbolic link)替换数据文件夹来将我的数据构建到 war 中,但这不会让更改持续存在,因此它不是一个完整的解决方案。

似乎最新版本的 Basex 应该通过构建其余组件来解决这个问题,但它似乎还没有在 CentOS 上可用。

最佳答案

已升级到 7.5(撰写本文时为稳定开发版本),它包含了 http 服务而无需 war 打包。更改了 .basex 配置以匹配现有数据库,因为它在 7.3 下工作以进行本地访问,一切都很好。

感谢 Christian Grün 通过 basex 邮件列表提供的帮助。

关于jetty - Basex servlet 看不到现有数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976335/

相关文章:

java - 未在 Tomcat 中部署的 war 文件

maven-2 - maven 与同一个 jar 的两个版本发生 war

java: Websphere Singleton 存在于多个 EAR 的 WAR 中?

web-services - c3p0 回滚事务而不是提交

java - 谷歌应用引擎 : couldn't start server - jetty

java - Jetty ALPN 未正确配置 - Hadoop/Google Bigtable

java - Jetty.xml如何定义JNDI引用OpenMQ

php - 哪个PHP文件占用了服务器上的mysql资源?

elasticsearch - centos 7无法启动elasticsearch服务

python - Bitnami-/opt/bitnami/python/bin/.python2.7.bin : error while loading shared libraries: libreadline. so.5