AEM 6.4 beta, Apache Sling JCR Resource Resolver not present | Community
Skip to main content
Level 2
February 1, 2018
Solved

AEM 6.4 beta, Apache Sling JCR Resource Resolver not present

  • February 1, 2018
  • 25 replies
  • 16486 views

Hi all

I'm trying to migrate an app so it works on AEM 6.4 beta, but I ran into the following problem:
When I install my bundle. I get the following error:

org.apache.sling.jcr.resource,version=[2.4,3) -- Cannot be resolved

Right now, I'm using version 2.9.2 of org.apache.sling.jcr.resource. Here's the pom dependency:

<dependency>

    <groupId>org.apache.sling</groupId>

    <artifactId>org.apache.sling.jcr.resource</artifactId>

    <version>2.9.2</version>

    <scope>provided</scope>

</dependency>

I checked in AEM's web console, and searched for that dependency using the dependency finder ( http://localhost:4502/system/console/depfinder ), and It turns out that package "org.apache.sling.jcr.resource" cannot be found in AEM 6.4 beta:

I checked in AEM 6.3, but I do get a result there:

It is because of this that I suspect that the problem is that this dependency is not present in AEM 6.4 beta. But still, I'm not an expert on dependencies so I'm not sure if this is the case, or if it's a problem on my project.


I'd appreciate if someone can point me in the right direction on this. Basically I want to check if the problem is related to AEM 6.4 beta dependencies.

Thanks!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Altham

Hi,

Actually these issues are due to changes in uber jar file i.e. interfaces and classes has been restructured in uber jar 6.4.

You can decompile uber jar and see the changes by yourself.

Taking an example of org.apache.sling.jcr.resource ....

org.apache.sling.jcr.resource.JcrResourceUtil is changed to com.day.cq.commons.jcr.JcrUtil

org.apache.sling.jcr.resource.JcrResourceConstants changed to org.apache.sling.jcr.resource.api.JcrResourceConstants

Links to figure out deprecated API's

https://helpx.adobe.com/experience-manager/6-4/sites/developing/using/reference-materials/javadoc/deprecated-list.html

https://helpx.adobe.com/experience-manager/6-3/sites/developing/using/reference-materials/javadoc/deprecated-list.html

25 replies

smacdonald2008
Level 10
April 13, 2018

Did you build your 6.4 project using the UBER 6.4?

gregt65506620
Level 2
April 16, 2018

I'm having the same issue with the AEM 6.4 release and I did build my project using the UBER 6.4

Level 3
April 27, 2018

Facing, the same issue.

Have opened a daycare for it.

does anyone know how to solve the compilation error?  package org.apache.sling.jcr.resource does not exist.

Getting this error while updating existing's projects POM.xml to 6.4.0 uber jar & then compiling the project.

joerghoh
Adobe Employee
Adobe Employee
April 27, 2018

A lot of this package is deprecated for quite some time. I remember that I came across a statement in the release notes of AEM. What version are you migrating from?

Jörg

Level 3
April 27, 2018

I am migrating from AEM 6.2 to AEM 6.4.

We found this error flagged into pattern detector.

category OCU.

pattern=OCU/outdated.code.usage

detector=IncompatibleExceptionDetector

message="The OSGi import: org.apache.sling.jcr.resource, due to package removal, referenced at bundle: com.leggmason.gd.core.leggmason-core might no longer be resolvable by default".

at=https://www.adobe.com/go/aem6_OCU

In OCU link it says the error can be solved with compatibility packages or with the help of alternate API's.

But there is no much information available on this thread.

smacdonald2008
Level 10
April 27, 2018

I will update a HELPX article to AEM 6.4 that uses this data type. I will post back results.

joerghoh
Adobe Employee
Adobe Employee
April 27, 2018

Check the documentation at Backward Compatibility in AEM 6.4​.

Jörg

Level 3
April 27, 2018

Thank you smacdonald2008 this information will definitely help.

I am facing this issue at package compilation time itself. (mvn clean install)

The compatibility package goes directly on the server through package manager, but I am not able to make my package ready & compatible with 6.4 after adding 6.4.0 uber jar in the pom.xml.

I am trying to follow this document.. Upgrading Code and Customizations

smacdonald2008
Level 10
April 27, 2018

We need a 6.4 article that uses this JAVA to pull data from the JCR and display in an HTL component:

Map<String, Object> param = new HashMap<String, Object>();

param.put(ResourceResolverFactory.SUBSERVICE, "datawrite");

ResourceResolver resolver = null;


try {

          

    //Invoke the adaptTo method to create a Session used to create a QueryManager

  resolver = resolverFactory.getServiceResourceResolver(param);

    session = resolver.adaptTo(Session.class);

joerghoh
Adobe Employee
Adobe Employee
April 27, 2018

The compatibility package allows you to run your AEM 6.3 application unchanged (no recompilation required) on AEM 6.4. Therfor you should not update to the 6.4 uber.jar

Jörg