Java 我试图从ResourceResolverFactory获取对ResourceResolver的引用,但得到了Null指针异常 Map param=newhashmap(); 参数put(resourcesolverfactory.SUBSERVICE,“datawrite”); log.info(“参数已创建”); ResourceResolver解析器=null; 试一试{ resolver=resolverFactory.getResourceResolver(参数); log.info(“已创建解析程序”); Session Session=resolver.adapto(Session.class); log.info(“会话已创建”); //创建表示根节点的节点 Node root=session.getRootNode(); //获取JCR中的内容节点 节点内容=root.getNode(“/content”); 节点customerRoot=null; int custRec=doesCustExist(内容); log.info(“客户是否存在:+custRec”); //-1表示内容/客户不存在 如果(custRec==-1){ //内容/客户不存在--创建它 customerRoot=content.addNode(“客户”); }否则{ //内容/客户确实存在--检索它 customerRoot=content.getNode(“客户”); } int custId=custRec+1;//为客户节点分配一个新id //将来自客户端JSP的内容存储在JCR中 节点custNode=customerRoot.addNode(“客户”+firstName+lastName+phone+desc); //确保节点的名称是唯一的 setProperty(“id”,custId); setProperty(“firstName”,firstName); setProperty(“lastName”,lastName); custNode.setProperty(“电话”,电话); custNode.setProperty(“desc”,desc); //保存会话更改并注销 session.save(); session.logout(); 返回客户ID; } 捕获(例外e){ 日志错误(“RepositoryException:+e); }

Java 我试图从ResourceResolverFactory获取对ResourceResolver的引用,但得到了Null指针异常 Map param=newhashmap(); 参数put(resourcesolverfactory.SUBSERVICE,“datawrite”); log.info(“参数已创建”); ResourceResolver解析器=null; 试一试{ resolver=resolverFactory.getResourceResolver(参数); log.info(“已创建解析程序”); Session Session=resolver.adapto(Session.class); log.info(“会话已创建”); //创建表示根节点的节点 Node root=session.getRootNode(); //获取JCR中的内容节点 节点内容=root.getNode(“/content”); 节点customerRoot=null; int custRec=doesCustExist(内容); log.info(“客户是否存在:+custRec”); //-1表示内容/客户不存在 如果(custRec==-1){ //内容/客户不存在--创建它 customerRoot=content.addNode(“客户”); }否则{ //内容/客户确实存在--检索它 customerRoot=content.getNode(“客户”); } int custId=custRec+1;//为客户节点分配一个新id //将来自客户端JSP的内容存储在JCR中 节点custNode=customerRoot.addNode(“客户”+firstName+lastName+phone+desc); //确保节点的名称是唯一的 setProperty(“id”,custId); setProperty(“firstName”,firstName); setProperty(“lastName”,lastName); custNode.setProperty(“电话”,电话); custNode.setProperty(“desc”,desc); //保存会话更改并注销 session.save(); session.logout(); 返回客户ID; } 捕获(例外e){ 日志错误(“RepositoryException:+e); },java,aem,Java,Aem,我遇到了这个错误: 错误[0:0:0:0:0:0:1[1567433510240]GET/bin/abc HTTP/1.1]aem.community.mf.core.servlets.SaveJcrData RepositoryException:java.lang.NullPointerException看起来您没有正确实例化资源解析程序工厂 您可以使用上下文中的SlingObject注释插入资源解析器,而不是使用工厂检索资源解析器 乙二醇 看起来您没有正确实例化资源解析程序工厂 您可以使用

我遇到了这个错误:


错误[0:0:0:0:0:0:1[1567433510240]GET/bin/abc HTTP/1.1]aem.community.mf.core.servlets.SaveJcrData RepositoryException:java.lang.NullPointerException

看起来您没有正确实例化资源解析程序工厂

您可以使用上下文中的SlingObject注释插入资源解析器,而不是使用工厂检索资源解析器

乙二醇


看起来您没有正确实例化资源解析程序工厂

您可以使用上下文中的SlingObject注释插入资源解析器,而不是使用工厂检索资源解析器

乙二醇


应按以下方式进行更正

@SlingObject
private ResourceResolver resourceResolver;

应按以下方式进行更正

@SlingObject
private ResourceResolver resourceResolver;

如果您试图在Sling模型中获取资源解析程序,请使用以下注释

resolver=resolverFactory.getServiceResourceResolver(param);
还要确保你的班级接到AEM的电话。为了根据我在previouis遇到的情况进行更多解释,以下是一些示例:

自定义Worklow流程-使用@Reference注释,您将能够获得资源解析程序,因为该流程是直接调用的 当工作流到达步骤时,从AEM


从另一个类B调用的类A-在这种情况下,资源解析程序在类A中为空,因为该类不会从AEM调用。如果您试图在Sling模型中获取资源解析程序,请使用以下注释

resolver=resolverFactory.getServiceResourceResolver(param);
还要确保你的班级接到AEM的电话。为了根据我在previouis遇到的情况进行更多解释,以下是一些示例:

自定义Worklow流程-使用@Reference注释,您将能够获得资源解析程序,因为该流程是直接调用的 当工作流到达步骤时,从AEM


从另一个类B调用的类A-在这种情况下,资源解析程序在类A中为空,因为该类未从AEM调用。请共享完整的堆栈跟踪。一直尝试打印堆栈跟踪(而不仅仅是消息),以便在正确的代码行轻松识别问题

当我们尝试使用不同的用户进行操作时,我们必须使用getServiceResourceResolver API来获取基于用户的资源解析器

下面是一个示例servlet,用于修改servlet中的内容/视图

您可以直接点击URL查看结果,如下所示(为查看目的添加了get方法)


你能分享一下完整的stacktrace吗。一直尝试打印堆栈跟踪(而不仅仅是消息),以便在正确的代码行轻松识别问题

当我们尝试使用不同的用户进行操作时,我们必须使用getServiceResourceResolver API来获取基于用户的资源解析器

下面是一个示例servlet,用于修改servlet中的内容/视图

您可以直接点击URL查看结果,如下所示(为查看目的添加了get方法)


您可以通过两种方式解决此问题:

  • 尝试在servlet本身中使用ResourceResolverFactory,这意味着您应该在servlet本身中定义它,并在那里使用它来获取资源和使用

  • resolver=req.getResourceResolver()您可以通过两种方式解决此问题:

  • 尝试在servlet本身中使用ResourceResolverFactory,这意味着您应该在servlet本身中定义它,并在那里使用它来获取资源和使用

  • resolver=req.getResourceResolver()factory对象是否存在的可能重复?发布完整代码和完整例外是否尝试在发布实例上运行此代码,可能是与匿名用户一起运行?顺便说一句,不要使用节点API来操作存储库数据,而是使用资源API。factory对象是否存在可能的重复项
    resolverFactory
    是否存在?发布完整代码和完整例外您是否尝试在发布实例上运行此代码,可能是使用匿名用户?顺便说一句,不要使用节点API来操作存储库数据,而是使用资源API。请