javax.jcr.nodetype.ConstraintViolationException:没有匹配的属性定义:PROPERTY

问题描述 投票:2回答:3

当我尝试将属性设置为我的JCR节点时,我收到错误

javax.jcr.nodetype.ConstraintViolationException:没有匹配的属性定义:PROPERTY。

我是cq5的新手。有人可以帮我解决这个错误吗?

cq5 aem jcr
3个回答
8
投票

在jcr中,每个节点都有一个node-type(值为“jcr:primaryType”)。

大多数节点类型定义该节点上允许的属性模式。你不能只添加你喜欢的任何属性。它必须在架构中定义。如果您尝试添加并持久化(提交)未定义的属性,则可以获得此ConstraintViolationException

所以这就是可能发生的事情:您已尝试在具有严格架构的节点上创建和存储名为“PROPERTY”的属性,但不允许这样做。

如果您提供更多详细信息,您尝试在哪种类型的节点上进行操作,我可能能够查明问题。


0
投票

例如,如果要将属性添加到qazxsw poi,则必须定义新的qazxsw poi类型并将其添加到节点。

这样您就可以添加所需的每个属性

这种更简单的方法是创建一个CND文件来定义所有属性

nt:file

你必须注册你的新mixin(你只需要这样做一次)

mixin

并将其添加到您的节点

<mc = 'http://myCompany.com/mc'>
[mc:fileProperties]
    mixin
        - mc:String1 (string)version
        - mc:String2 (string) version
        - mc:String3 (string) version
        - mc:LongString1 (string) version
        - mc:Date1 (date) version
        - mc:Date2 (date) version
        - mc:Number1 (long) version
        - mc:Number2 (long) version
        - mc:Boolean1 (boolean) version
        - mc:Boolean2 (boolean) version
        - mc:Choice1 (long) version

在这里你可以做到

JackrabbitNodeTypeManager manager = (JackrabbitNodeTypeManager)session.getWorkspace().getNodeTypeManager();
InputStream cndFile = ... // Get you CND file
JackrabbitNodeTypeManager.TEXT_X_JCR_CND );

0
投票

我在使用WKND教程时在AEM中遇到了这个问题。下载解决方案包之后,我安装了第8章

org.apache.sling.ide.transport.RepositoryException:javax.jcr.nodetype.ConstraintViolationException:OakConstraint0004:/content/dam/wknd/en/contributors/stacey-roswells.jpg/jcr:content/renditions/cq5dam.thumbnail.140.100 .png / jcr:content [[oak:Resource]]:没有为jcr找到匹配的属性定义:uuid = 3f4b3593-7e5f-42a6-947a-80b67263469e引起:javax.jcr.nodetype.ConstraintViolationException:OakConstraint0004:/ content / dam /wknd/en/contributors/stacey-roswells.jpg/jcr:content/renditions/cq5dam.thumbnail.140.100.png/jcr:content[[oak:Resource]]:找不到jcr匹配的属性定义:uuid = 3f4b3593- 7e5f-42a6-947a-80b67263469e

如果我们记得点击,我们可以解决问题

aem-guides-wknd.ui.apps - > properties - > project facet - > REMOVE动态Web模块

© www.soinside.com 2019 - 2024. All rights reserved.