You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2008/08/11 09:47:47 UTC
[jira] Commented: (SLING-591) NoSuchMethodError exception in
javax.script.Bindings when running on Java 5
[ https://issues.apache.org/jira/browse/SLING-591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621375#action_12621375 ]
Felix Meschberger commented on SLING-591:
-----------------------------------------
The problem is probably that you compiled the scripting/freemarker module using a JDK 6 compiler which compiles against the Java Scripting API contained in Java 6, which is written using generics. When running on Java 5, the BSF 3 Java Scripting API implementation is used, which is _not_ written using generics, because it is intended to be run on Java 1.4, also.
Two solutions come to mind:
- Compile the module with Java 5 instead of Java 6
- Extend the Freemarker module's <build/plugins> section as follows:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0-alpha-4</version>
<executions>
<execution>
<id>get-bsf3-api</id>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.apache.bsf</groupId>
<artifactId>bsf-api</artifactId>
<version>3.0-beta2</version>
</artifactItem>
</artifactItems>
<stripVersion>true</stripVersion>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- Reported to work on Linux, Windows, Mac OSX -->
<compilerArgument>-Xbootclasspath/p:${project.build.directory}/dependency/bsf-api.jar</compilerArgument>
</configuration>
</plugin>
This ensure the compilation of the module against the BSF 3 library.
> 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)
> [...]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.