首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AEM : ResourceResolverType.JCR_OAK的问题

AEM : ResourceResolverType.JCR_OAK的问题
EN

Stack Overflow用户
提问于 2020-10-05 18:10:09
回答 1查看 1K关注 0票数 1

我正在使用AEM Mocks (与JUnit 5)。我创建的上下文如下:

private final AemContext aemContext = new AemContext(ResourceResolverType.JCR_OAK);

注意JCR_OAK的使用。如果我尝试使用JCR_MOCK,一切都很好。当尝试注入某些服务时,我会得到以下错误:

java.lang.RuntimeException: Unable to initialize JCR_OAK resource resolver factory: Unable to invoke method 'activate' for class org.apache.sling.resourceresolver.impl.ResourceResolverFactoryActivator

我已经尝试过这里描述的建议--反转sling-mock-oakuber-jar依赖关系--但这是无法做到的。如果sling-mock-oak出现在uber-jar之前,则会引发其他错误。

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/unable-to-initialize-jcr-oak-resource-resolver-factory/td-p/319688

下面是依赖项的部分列表:

代码语言:javascript
复制
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>${junitVersion}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.wcm</groupId>
    <artifactId>io.wcm.testing.aem-mock.junit5</artifactId>
    <version>3.1.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>io.wcm.maven</groupId>
    <artifactId>io.wcm.maven.aem-dependencies</artifactId>
    <version>6.4.8.0002</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>org.apache.sling</groupId>
    <artifactId>org.apache.sling.testing.logging-mock</artifactId>
    <version>2.0.0</version>
</dependency>
<dependency>
    <groupId>org.apache.sling</groupId>
    <artifactId>org.apache.sling.testing.resourceresolver-mock</artifactId>
    <version>1.1.24</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4jVersion}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4jVersion}</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-core</artifactId>
    <version>3.0.4</version>
</dependency>
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>2.21.0</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-junit-jupiter</artifactId>
    <version>2.23.0</version>
    <scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
    <artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
    <version>2.1.10-1.16.0</version>
    <scope>test</scope>
</dependency>

有人能告诉我为什么上面的错误吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-06-04 02:19:21

我能够通过切换到ResourceResolverType.JCR_MOCK来实现节点属性请求的工作,并纠正测试的正确性以匹配示例https://github.com/adobe/aem-guides-wknd中的pom.xml

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64213999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档