Hi all,
Been meaning to write a reply to this for a while. I am confused about
this and was wondering if anyone who has worked on the other scripting
support can explain something. From looking at all the javadocs etc for
javax.script this has all only been around since 1.6, so I am not sure
how the scripting support is supposed to work for sling in 1.5, e.g. the
ScriptContext (which is passed in) says since 1.6 in the javadocs.
Maybe I am missing something obvious as to why this should work (e.g. is
there a library for 1.5 that adds this support?).
Anyway one solution to the problem below would be to replace the line:
Bindings bindings =
scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
with the line:
Map<String, Object> bindings =
scriptContext.getBindings(ScriptContext.ENGINE_SCOPE);
in FreemarkerScriptEngine
Cheers
Bryce
Oliver Lietz (JIRA) wrote:
NoSuchMethodError exception in javax.script.Bindings when running on Java 5
---------------------------------------------------------------------------
Key: SLING-591
URL: https://issues.apache.org/jira/browse/SLING-591
Project: Sling
Issue Type: Bug
Components: Scripting
Environment: Mac OS X 10.5/Intel64
Reporter: Oliver Lietz
running scripting on Java 5 leads to runtime errors:
*ERROR* [btpool0-2]
org.apache.sling.scripting.freemarker.FreemarkerScriptEngine Failure running
Freemarker script. java.lang.NoSuchMethodError:
javax.script.Bindings.put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
at
org.apache.sling.scripting.freemarker.FreemarkerScriptEngine.eval(FreemarkerScriptEngine.java:69)
at
org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:135)
at
org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:106)
at
org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:219)
at
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:462)
at
org.apache.sling.engine.impl.SlingMainServlet.processRequest(SlingMainServlet.java:419)
at
org.apache.sling.engine.impl.filter.RequestSlingFilterChain.render(RequestSlingFilterChain.java:48)
at
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:54)
at
org.apache.sling.engine.impl.debug.RequestProgressTrackerLogFilter.doFilter(RequestProgressTrackerLogFilter.java:59)
at
org.apache.sling.engine.impl.filter.AbstractSlingFilterChain.doFilter(AbstractSlingFilterChain.java:52)
at
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:273)
at
org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:171)
[...]