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:
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.
Solved! Go to Solution.
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
AFAIK, there is no issue with login for load18
Though you might be hitting AEM 6.4 beta, default login is not working
Make sure you do not have any space in path to jar file else it will through an crypto exception in stderr.log
References from Windows OS
Path with spaces - C:\AEM Stuff\aem 6.4 - will not work
Path without spaces - C:\sample\aem64 - will work
It is against NDA to post AEM 6.4 beta questions on the main forums. You should be asking these in the Beta forums (Adobe prerelease) set for it.
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.
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?
I am migrating from AEM 6.2 to AEM 6.4.
We found this error flagged into pattern detector.
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".
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.
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
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>();
ResourceResolver resolver = null;
//Invoke the adaptTo method to create a Session used to create a QueryManager
resolver = resolverFactory.getServiceResourceResolver(param);
session = resolver.adaptTo(Session.class);
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