java - 将自定义节点类型添加到 Apache Sling WebApp

标签 java apache aem jackrabbit sling

我正在尝试找出一种使用 CND 文件将自定义节点类型添加到我的 Sling WebApp 的方法。我下载了 WAR 文件并运行它,但由于所有代码都已编译(作为 .class 文件),我无法添加代码来读取 CND 文件并添加自定义节点类型。

另外,我确实运行了 Jackrabbit,并且通过它,我可以使用 JackrabbitNodeTypeManager 或其他方式来编码读取 CND 文件并添加节点类型。这适用于我不在服务器上运行的本地存储库。

我希望能够以类似的方式向 Sling Web 应用程序添加新的节点类型。所以我将我的问题归结为:

  1. 有没有办法在 Sling WebApp 中编写添加新节点类型的代码?
  2. 如何将我的 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/

相关文章:

regex - REGEX_EXTRACT_ALL在APACHE PIG中未返回正确的结果

java - Apache Velocity + Servlet 3.0

aem - 如何写一个nt :file programmatically

java - jersey 2.0::for cdi 注入(inject),beans.xml 是必需的吗?

java - 何时捕获异常与何时抛出异常?

java - 使用 JNI 调用 API 访问静态枚举字段

java - 如何将一堆线性布局转换为一个相对布局

apache - Gitlab + Apache Ubuntu 14.04

java - AEM CQ 等待工作流完成

css - Adobe cq - 背景图片/CSS