Freemarker templates in my own plugin (https://marketplace.atlassian.com/plugins/com.zenofx.crowd.upm/server/overview) cause the following exception:
java.lang.NoSuchMethodError: freemarker.ext.jsp.TaglibFactory.setObjectWrapper(Lfreemarker/template/ObjectWrapper;)V org.apache.struts2.views.freemarker.FreemarkerManager.buildScopesHashModel(FreemarkerManager.java:368) org.apache.struts2.views.freemarker.FreemarkerManager.buildTemplateModel(FreemarkerManager.java:539) org.apache.struts2.views.freemarker.FreemarkerResult.createModel(FreemarkerResult.java:301) org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:182) ...
Probably a version mismatch between freemarker (2.3.21) and Struts2 (2.3.29) in the Crowd installation - IMHO freemarker is too old. The default object wrapper changed in freemarker 2.3.22. When updating freemarker to 2.3.24-atlassian-2 in WEB-INF/lib of the Crowd installation, everything works as expected.
Hi Łukasz,
I can confirm this works for Crowd 2.7.2 - 2.9.1 (didn't test 2.10.0 yet). Here's the relevant snippet from my atlassian-plugin.xml:
As I said, I guess Struts2 (xwork) and freemarker are not compatible in Crowd 2.10.
Cheers
Thomas