Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

SOLVED

After installing Service Pack project bundle goes in installed state AEM

kiranc13433869
Level 4
Level 4

hi,

i am using AEM 6.4 currently.

recent service pack is 6.4.5.0

after installation one of the project bundle is breaking.

error is :org.apache.sling.api.resource,version=[2.10,2.11) -- Cannot be resolved

where this is predefined bundle and my current version is 2.20.0 and it is in active state.

1797311_pastedImage_3.png

1797313_pastedImage_4.png

anyone faced similar issue?

kindly suggest solution.

1 Accepted Solution
Jörg_Hoh
Correct answer by
Employee
Employee

Do not mix up the bundle version with the java package versions!

In your case your bundle requires the java package "org.apache.sling.api,resource" in the version range 2.10 - 2.11]. But that cannot be resolved.

In my local AEM 6.5 it looks like this:

1797572_pastedImage_0.png

See the package version 2.18.4 of teh Apache Sling API bundle, while the version number of the exported java package "org.apache.sling.api.resource" is 2.11.1.

But as already recommended: Check the uber.jar you are working with. It should be for 6.4.5.

View solution in original post

0 Replies
yanirac19051392
Employee
Employee

To clarify OOTB bundles are fine but your bundle stays in Installed state?  If so then you will have to update the bundles in your project to match the ones that are updated in 6.4SP5 which is 2.20. 

joeb21688728
Level 4
Level 4

It's only a version issue - simply change the version in your MF file in the OSGi bundle to reflect the one exposed in AEM.

jbrar
Employee
Employee

I had worked on a similar issue and we traced the incorrect version was being set from "crx-quickstart/conf/sling.properties" file.

So, check the "sling.properties" and correct the version

Also, check the POM file while building the code and make sure you are using the latest uber jar(6.4.5).

Jörg_Hoh
Correct answer by
Employee
Employee

Do not mix up the bundle version with the java package versions!

In your case your bundle requires the java package "org.apache.sling.api,resource" in the version range 2.10 - 2.11]. But that cannot be resolved.

In my local AEM 6.5 it looks like this:

1797572_pastedImage_0.png

See the package version 2.18.4 of teh Apache Sling API bundle, while the version number of the exported java package "org.apache.sling.api.resource" is 2.11.1.

But as already recommended: Check the uber.jar you are working with. It should be for 6.4.5.

View solution in original post

kiranc13433869
Level 4
Level 4

yes when for updating maven dependency in my project.

i added it to POM

<Embed-Dependency>org.apache.sling.api;</Embed-Dependency>

<Import-Package>!org.apache.sling.*;</Import-Package>

org.apache.sling.scripting.javascript.wrapper.ScriptableResource Unable to adapt object.

java.lang.ClassNotFoundException: [JavaPackage org.apache.sling.api.resource.ValueMap]

so not sure whether to go ahead with this change or not.

any suggestion?

Jörg_Hoh
Employee
Employee

Doing this change to the POM will not help you. In fact it worsens the situation, because your code will use its own copy of the Sling API, and this causes the observed ClassNotFoundException.

Instead you should remove these statements from your pom, and make sure that you use the proper uber.jar matching your AEM version.