当路径在AEM上存在时,为什么会出现“ javax.jcr.PathNotFoundException”?

问题描述

我正在尝试将模板的节点树复制到名为“ root”的节点,如下所示:

Workspace workspace = session.getWorkspace();
workspace.copy(templatePath + "/initial/jcr:content/root",contentNode.getPath() + "/root");    
Node rootNode = contentNode.getNode("root");

templatePath是模板的字符串。我正在尝试在模板路径下复制“ / initial / jcr:content / root”,并将其粘贴到节点contentNode下名为“ root”的子节点。 我运行了上面的代码,并在最后一行得到了 javax.jcr.PathNotFoundException 。当我在AEM上转到CrxDe时,已复制并粘贴了节点树,尽管我收到了错误消息,但路径实际上存在。我试图添加

  session.save();

复制后。但是,尽管这些节点存在并已被复制,但相同的错误仍然存​​在。

是什么原因造成的?

解决方法

在重新使用session.save()之前,尝试添加session.refresh()而不是contentNode