활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
활동이 없어 이 대화는 잠겼습니다. 새 게시물을 작성해 주세요.
Hey guys.
I have a new issue today for which I really need your help.
We have a website developed using AEM 6.1 API and deployed in 6.1. Our website has some Java backend. One piece of our java code used the Externalizer class from AEM (com.day.cq.commons). Nothing rocket science so far.
Then we had to deploy everything on AEM 6.2. Now on 6.2 that piece of code is not working anymore. AEM returns this exception out of the blue:
… Caused by: java.lang.NoClassDefFoundError: com/day/cq/commons/Externalizer …
(cannot post full stacktrace as we have confidential stuff)
So the question is, why may that happen ?
My first thought was that maybe something may have changed to the class loader on 6.2. So I dunno if I am on a totally wrong path, but I have compared the Dynamic Class Loader on both AEM versions. Again, maybe I looking in the wrong place, but I definitely think that error has something to do with class loading policies. So, what I saw is that on 6.1 the Dynamic Class Loader is implemented in org.apache.sling.commons.classloader-1.3.2.jar and in 6.2 is implemented in org.apache.sling.commons.fsclassloader-1.0.2.jar.
So looking at the jar versions it looks like in the higher AEM version we have the lower Dynamic Class Loader jar version. When in my mind things should be the other way around. Should that be right? Any ideas?
Tks in advance for you help !
Cheers.
Update 1: I come back with an update because it seams I made a mistake about the two jar versions. My eyes played tricks to me. I was looking on two different jar files (.classloader vs .fsclassloader), two different things. So jar version seams to not be the cause. But still the initial problem stays and I don't know why is happening. So please just ignore second part of my article.
Update 2: We are using Java 1.8 everywhere. We have also installed all the hot fixes packages.
Update 3: I have also compared our application bundle in each AEM Web Console. Interesting is that on 6.2 our bundle does not import anymore the com.day.cq.commons package, where the Externalizer class resides.
On AEM 6.1 (http://localhost:4502/system/console/bundles/471) :
Imported Packages
com.adobe.cq.sightly,version=2.3.0 from com.adobe.cq.sightly.cq-wcm-sightly-extension (435)
com.adobe.granite.workflow,version=1.0.0 from com.adobe.granite.workflow.api (194)
com.adobe.granite.workflow.exec,version=1.0.0 from com.adobe.granite.workflow.api (194)
com.adobe.granite.workflow.metadata,version=1.0.0 from com.adobe.granite.workflow.api (194)
com.day.cq.commons,version=5.7.0 from com.day.cq.cq-commons (292)
com.day.cq.dam.api,version=1.7.0 from com.day.cq.dam.cq-dam-api (332)
com.day.cq.mailer,version=5.9.0 from com.day.cq.cq-mailer (296)
com.day.cq.wcm.api,version=1.9.0 from com.day.cq.wcm.cq-wcm-api (419)
….
On AEM 6.2 (http://localhost:4503/system/console/bundles/444) :
Imported Packages
com.adobe.cq.sightly,version=2.5.0 from com.adobe.cq.sightly.cq-wcm-sightly-extension (272)
com.adobe.granite.license,version=1.1.1 from com.adobe.granite.license (63)
com.adobe.granite.workflow,version=1.0.0 from com.adobe.granite.workflow.api (214)
com.adobe.granite.workflow.exec,version=1.1.0 from com.adobe.granite.workflow.api (214)
com.adobe.granite.workflow.metadata,version=1.0.0 from com.adobe.granite.workflow.api (214)
????????????????
com.day.cq.dam.api,version=1.16.0 from com.day.cq.dam.cq-dam-api (377)
com.day.cq.i18n,version=5.4.0 from com.day.cq.cq-i18n (182)
com.day.cq.mailer,version=5.9.0 from com.day.cq.cq-mailer (355)
com.day.cq.wcm.api,version=1.17.0 from com.day.cq.wcm.cq-wcm-api (258)
Our maven script is configured with <Import-Package>*;resolution:=optional</Import-Package>, but I don't think this is the problem.
Update 4: Our piece of code get a reference to Externalizer like this (I dunno if this makes any difference):
Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
해결되었습니다! 솔루션으로 이동.
Can you rebuild the package/bundle with 6.2 uber.jar?
조회 수
답글
좋아요 수
I am checking with internal Adobe ppl to see if this is a known issue.
조회 수
답글
좋아요 수
smacdonald2008 wrote...
I am checking with internal Adobe ppl to see if this is a known issue.
Any finding on this.I got a similar issue after migrating from AEM6.1 to AEM 6.2.
Please share your finding.
Thanks
Nanda
조회 수
답글
좋아요 수
Hello there,
Could you share me your thought?
I am facing similar issue after AEM 6.2 migration.
I have migrated from AEM 6.1 to 6.2
Your help would be much appreciated
Thanks
Nanda
조회 수
답글
좋아요 수
Can you rebuild the package/bundle with 6.2 uber.jar?
조회 수
답글
좋아요 수
Great!
조회 수
답글
좋아요 수