Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向Apache Sling WebApp添加自定义节点类型_Java_Apache_Aem_Jackrabbit_Sling - Fatal编程技术网

Java 向Apache Sling WebApp添加自定义节点类型

Java 向Apache Sling WebApp添加自定义节点类型,java,apache,aem,jackrabbit,sling,Java,Apache,Aem,Jackrabbit,Sling,我正试图找到一种方法,使用CND文件将自定义节点类型添加到我的Sling WebApp中。我下载了WAR文件并使其运行,但由于所有代码都已编译(作为.class文件),我无法添加代码来读取CND文件并添加自定义节点类型 另一方面,我确实运行了Jackrabbit,通过它,我可以使用JackrabbitNodeTypeManager或其他方式来编码读取CND文件和添加节点类型。这适用于未在服务器上运行的本地存储库 我希望能够以类似的方式向Sling Web应用程序添加新的节点类型。因此,我将我的问

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

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

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

  • 有没有办法在Sling WebApp中编码新节点类型的添加
  • 我如何将我的Jackrabbit存储库(本地)连接到Sling Web应用程序(在服务器上),以便我可以通过这种方式探索添加自定义节点类型(正如我目前在本地Jackrabbit repo上所做的那样)
  • 我知道Sling是一个使用Jackrabbit作为repo的框架,并提供类似REST的服务来处理存储库,但我认为有一种方法可以像Jackrabbit允许的那样添加这些自定义节点类型

    谢谢

    有没有办法在Sling WebApp中编码新节点类型的添加

    这记录在。你需要做的是

    • 以CND格式编写节点类型定义
    • 把它捆起来
    • 使用
      Sling节点类型
      头引用清单中的文件
    • 将捆绑包部署到您的Sling应用程序

    您目前如何连接到Sling之外的Jackrabbit存储库?使用Sling也应该可以做到这一点。Sling WebApp附带了Jackrabbit存储库,该存储库位于开箱即用的底层。至于我的单独的Jackrabbit项目,它只是放在本地,类似于:
    Repository Repository=newtransentrepository();Session Session=repository.login(新的simpleredentials(“用户名”、“密码”.tocharray())。我一直在学习Jackrabbit First Hops教程,学习后者。我明白了。连接到JCR存储库的最简单方法是部署一个捆绑包来完成Sling的所有工作。我不知道通过部署OSGi捆绑包连接到存储库是可能的。我会再调查一下。