2

我有一个在 linux 机器上运行的现有 basex 安装。安装运行良好,我可以编辑 .basex 文件以将任何执行指向主数据库,并且可以从任何地方运行客户端并进行连接。

我还让 jetty6 与 basex war 包一起运行,该包也可以运行、可访问并返回有效的休息响应。

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

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

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

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

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

4

1 回答 1

1

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

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

于 2012-10-23T20:54:30.077 回答