我正在尝试找出一种使用 CND 文件将自定义节点类型添加到我的 Sling WebApp 的方法。我下载了 WAR 文件并运行它,但由于所有代码都已编译(作为 .class 文件),我无法添加代码来读取 CND 文件并添加自定义节点类型。
另外,我确实运行了 Jackrabbit,并且通过它,我可以使用 JackrabbitNodeTypeManager 或其他方式来编码读取 CND 文件并添加节点类型。这适用于我不在服务器上运行的本地存储库。
我希望能够以类似的方式向 Sling Web 应用程序添加新的节点类型。所以我将我的问题归结为:
- 有没有办法在 Sling WebApp 中编写添加新节点类型的代码?
- 如何将我的 Jackrabbit 存储库(本地)连接到 Sling Web 应用程序(服务器上),以便我可以探索以这种方式添加自定义节点类型(就像我目前在本地的 Jackrabbit 存储库上所做的那样)?里>
我知道 Sling 是一个使用 Jackrabbit 作为存储库并提供类似 REST 的服务来使用存储库的框架,但我想有一种方法可以添加这些自定义节点类型,就像 Jackrabbit 允许的那样。
谢谢。
最佳答案
Is there a way to code the addition of new nodetypes in the Sling WebApp?
这记录在 Declared Node Type Registration 。你需要做的是
- 以 CND 格式编写节点类型定义
- 将其放入 bundle 中
- 使用
Sling-Nodetypes
header 引用 list 中的文件 - 将 bundle 部署到您的 Sling 应用
关于java - 将自定义节点类型添加到 Apache Sling WebApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33326447/