在我的项目中,我需要将Jackrabbit 1.3更改为Jackrabbit 2.1.1。我的工作是为查询工作。如果索引格式和查询格式有变化,请建议我。 Lucene 2.4用于Jackrabbit 2.1.1,而使用Jackrabbit 1.3则使用Lucene 2.2。
答案 0 :(得分:2)
让您将升级分为以下几部分:
升级1.3到1.5(见Class IndexMigration):
IndexMigration实现了一个将Jackrabbit 1.4.x索引迁移到1.5版的实用程序。在版本1.4.x之前,索引使用字符''将属性名称与值分开。从Lucene 2.3开始,这不再适用了。见LUCENE-1221。 Jackrabbit> = 1.5使用字符'['作为分隔符。每当从磁盘打开索引时,都会运行快速检查以确定是否需要迁移。有关详细信息,另请参阅JCR-1363。
升级1.5到2.0.0(参见RELEASE-NOTES.txt):
向后兼容性
Jackrabbit 2.0 旨在与现有的Jackrabbit兼容 1.x客户端和存储库。此目标的主要例外是:
- 删除已弃用的类和功能。 Jackrabbit 2.0不是 向后兼容使用类或功能的客户端代码 在1.x发布周期中已弃用。最为显着地 临时的org.apache.jackrabbit.api.jsr283接口已经存在 删除了javax.jcr中的官方JCR 2.0 API。
- 包含新JSR 283安全功能的存储库 作为Jackrabbit 1.5和1.6的开发预览可能会遇到问题 升级到Jackrabbit 2.0时。请特别注意JCR-1944和JCR-2313 了解更多详情。
- JCR-RMI层不再实现Jackrabbit API扩展。 将JCR-RMI用于分布式事务或用于管理的代码 创建工作区或注册节点类型等操作需要 相应更新。
- Jackrabbit 2.0中的JCR-RMI层仅支持JCR 2.0存储库。 访问像Jackrabbit 1.x一样的JCR 1.0存储库实现 RMI,您需要使用1.x版本的JCR-RMI。
将2.0.0升级到2.1.1(2.x分支定位为具有稳定的API):
这是Apache Jackrabbit 2.0.0,完全合规并且可以投入生产 实现Java Technology API的内容存储库,版本2.0
另请参阅Jackrabbit和Lucene API的兼容性表。
答案 1 :(得分:0)
有多种方法可以从Jackrabbit 1.x迁移到2.x.可能在Jackrabbit Wiki,Backup and Migration页面中找到了最好的文档。