I have a project that is being lifted from AEM 6.2. I have a version of the archetype from way back then and I'm attempting to upgrade to the AEM archetype 40 version. The issue I'm having is that the type library doesn't seem to be resolving.
They are in the manifest for the bundle:
0 Tue Jul 25 15:11:04 MDT 2023 META-INF/
8835 Tue Jul 25 15:11:04 MDT 2023 META-INF/MANIFEST.MF
7751 Tue Jul 25 15:10:48 MDT 2023 META-INF/catcontent.tld
0 Tue Jul 25 15:10:48 MDT 2023 META-INF/glossary.tld
15911 Tue Jul 25 15:10:48 MDT 2023 META-INF/hnfs.tld
2631 Tue Jul 25 15:10:48 MDT 2023 META-INF/log.tld
When I access the page, I am getting an error that the absolute URL in one of the tag library files cannot be resolved. Using the older archetype, this works but I want to update the project to the new archetype to better organize the work and take advantage of deploying code using profiles instead of having to manually package things and then deploy manually as well.
What should I look for to get this working?
Thanks in advance.
Views
Replies
Total Likes
@RobertHarperFS as you are upgrading from old aem to new aem version, just a suggestion that limit your jsp files and check for alternative ways to solve it. Also check for any new jsp which is present in new AEM version and check how taglibs are handled.
I don't have approval to refactor the components to use Touch UI. Management only wants to shift to 6.5 from 6.2 and fix some long standing bugs. I know this is not an optimal way to go but it is what it is.
As for how taglibs are handled and how to register the TLD files, where do I find that information? I haven't been able to find anything that works yet.
Do you see any log messages regarding the tag library? What is the version of the Apache Sling JSP Taglib bundle in AEM 6.2 and on the new AEM version you are using?
I can see the files included in the bundle at /META-INF/[tld-file].tld by running jar tvf [bundle-name].
How do they need to be placed in the bundle so that the can be resolved?
I'm at wits end on this issue.
I've been searching for a couple weeks and coming up with nothing that works.
I've added the resource(TLD files) to the core/pom.xml in the bundle that deploys with the JSP. The supporting classes are in a different bundle but I'm importing them as well. At one time I had the TLD files in both bundles but that didn't resolve anything.
I have this adding the resources to the bundle and when I get a listing of files, and using the /system/console/bundles page, I see the files included in the bundle.
Sling-Bundle-Resources:\
/resources/META-INF/taglib1.tld,\
/resources/META-INF/taglib2.tld,\
/resources/META-INF/taglib3.tld,\
/resources/META-INF/tags/taglib1.tld,\
/resources/META-INF/tags/taglib2.tld,\
/resources/META-INF/tags/taglib3.tld
Due to a couple things I've read, I do have duplicates in two folders. That didn't help and I know is overkill but I thought at least one would be registered.
This is from the /system/console/bundles page.
Sling-Bundle-Resources: /resources/META-INF/taglib1.tld, /resources/META-INF/taglib2.tld, /resources/META-INF/taglib3.tld, /resources/META-INF/tags/taglib1.tld, /resources/META-INF/tags/taglib2.tld, /resources/META-INF/tags/taglib3.tld
Yet I am still getting the error message that the absolute URI cannot be found, even though it is in one of the TLD files.
Someone please have an answer because I am finding nothing that has resolved this.