如何更改 JCR 节点的名称?

Posted

技术标签:

【中文标题】如何更改 JCR 节点的名称?【英文标题】:How can you change the name of a JCR node? 【发布时间】:2011-05-09 01:51:22 【问题描述】:

我正在尝试更改 JCR 节点的名称,但我不知道怎么做?你们有人有什么提示吗?

非常感谢。

【问题讨论】:

您是要更改节点的名称“属性”还是节点的“类型”名称? 【参考方案1】:

Jackrabbit Wiki 提供了一个例子:

void rename(Node node, String newName) throws RepositoryException 
    
        node.getSession().move(node.getPath(), node.getParent().getPath() + "/" + newName);
        // Don't forget - not necessarily here at this place:
        // node.getSession().save();
    

【讨论】:

请注意,重命名方法不是 JCR 的一部分。虽然它是 Jackrabbit API 的一部分。如果您想严格遵守 JCR,您需要使用 move 方法将节点移动到新名称。另外,如果父节点是可排序的,则移动后必须将被移动的节点重新排序到之前的位置。 该 wiki 仍将代码保留为今天的日期,但使用 JackRabbit 的最新版本对其进行测试会引发异常。需要删除额外的“/”才能使其工作..

以上是关于如何更改 JCR 节点的名称?的主要内容,如果未能解决你的问题,请参考以下文章

JCR 创建单个文件,从不同节点链接

Java JCR如何改变节点的顺序?

如何在terraform中更改GKE Cluster的节点池中的节点名称?

如何使用 XSLT 替换 XML 节点名称中的字符 - 更改根元素

如何使用 java 代码发布 jcr 节点?

如何更改UWP app文件夹名称或路径?