如何通过 WebDAV 访问 Jackrabbit Oak 存储库?

Posted

技术标签:

【中文标题】如何通过 WebDAV 访问 Jackrabbit Oak 存储库?【英文标题】:How to access a Jackrabbit Oak repository via WebDAV? 【发布时间】:2017-03-11 16:45:58 【问题描述】:

当我启动 Jackrabbit 2 存储库时,我可以通过 http://localhost:8080/repository/default 轻松地通过 WebDAV 连接到它

但这不适用于 Oak。

不幸的是,这不是很好的文件,我能找到的所有文件都与 Oak 和 WebDAV 相关,是 Jira 中的这些票

https://issues.apache.org/jira/browse/OAK-4?focusedCommentId=13236811&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13236811 https://issues.apache.org/jira/browse/OAK-104

和邮件列表帖子

http://jackrabbit.510166.n4.nabble.com/Exception-while-tryng-to-connect-to-Oak-via-WebDav-td4661166.html#a4661173,

这并没有给我任何有用的提示。

所以我的问题实际上是两个问题:

1) 如何通过独立运行的 WebDAV 连接到 Oak 存储库?

2) 如何通过在应用程序中创建/嵌入的 WebDAV 连接到 Oak 存储库?如何暴露端口以及如何启用WebDAV?

是否有任何代码示例?文档真的不够有用。

我检查了 Oak 存储库,并在 https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-examples/standalone/README.md 找到了带有独立应用程序和 README 的 Oak 示例。

上面写着:

完成后,您可以通过执行来运行应用程序

$ java -jar target/oak-standalone-*.jar
 This would start an Oak based repository which uses filesystem storage. All  the content would be by default stored under `oak`

文件夹。服务器将侦听端口 8080 并支持远程访问 通过 DavEx(/server)和 WebDAV(/repository)。

但是,这不起作用。当尝试使用我的 WebDav 客户端或在浏览器中连接到 http://localhost:8080/repository 时,我收到了 404 not found 错误。

【问题讨论】:

【参考方案1】:

我在 URL 中缺少工作区名称 (default)。

按照https://svn.apache.org/repos/asf/jackrabbit/oak/trunk/oak-examples/standalone/README.md 上的说明,然后通过

启动存储库
java -jar target/oak-standalone-*.jar

我可以通过http://localhost:8080/repository/default/ 的WebDav 访问它。我错过了将 /default 放在 URL 中。

【讨论】:

以上是关于如何通过 WebDAV 访问 Jackrabbit Oak 存储库?的主要内容,如果未能解决你的问题,请参考以下文章

apache jackrabbit 实现 webdav 客户端怎么设置主体

apache jackrabbit 实现 webdav 客户端怎么设置主体

Jackrabbit仓库的运维管理

jdk1.6下使用sardine和jackrabbit-webdav的问题

jdk1.6下使用sardine和jackrabbit-webdav的问题

如何在windows8/7中建立WebDAV服务器实现访问或共享文件