[
https://issues.apache.org/jira/browse/SLING-1700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12903441#action_12903441
]
Olaf Otto commented on SLING-1700:
----------------------------------
One more thought: I am wondering what classloader should be provided as the
context classloader. My guess is using the classloader of the
VelocityTemplatesScriptEngineFactory (presumably the bundle classloader of the
velocity scripting bundle). However other implementations such as the JSP
engine use the dynamic classloader obtained from the DynamicClassLoaderManager.
This however would be a problem if a velocity bundle is installed (and velocity
remains embedded), would it? Would you agree on using the velocity scripting
bundle classloader?
> contrib/scripting/velocity embeds velocity, causing classloading issue at
> runtime
> ---------------------------------------------------------------------------------
>
> Key: SLING-1700
> URL: https://issues.apache.org/jira/browse/SLING-1700
> Project: Sling
> Issue Type: Bug
> Components: Scripting
> Environment: Felix 1.4, Sling 2.0.7, Apache Velocity 1.6.2
> Reporter: Olaf Otto
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> Affects: Rev. 989119 of
> https://svn.apache.org/repos/asf/sling/trunk/contrib/scripting/velocity
> (2.0.0-SNAPSHOT)
> The maven-bundle-configuration in the pom of the velocity support module
> (https://svn.apache.org/repos/asf/sling/trunk/contrib/scripting/velocity/pom.xml)
> embeds a couple of dependencies:
> ...
> <Embed-Dependency>
> velocity;oro;commons-lang;inline=true
> </Embed-Dependency>
> ...
> However, these libraries are available as bundles and should not be embedded.
> In the case of velocity, this causes an issue when a apache velocity bundle
> is also deployed in felix, as the org.apache.velocity.runtime.log.LogChute
> interface is loaded from both the velocity scripting support bundle and the
> deployed apache velocity bundle:
> Suggested resolution: Remove the embedding. It is bad practice anyway. I've
> successfully tested this with the following maven-bundle-configuration
> configuration:
> <configuration>
> <instructions>
> <Private-Package>
> org.apache.sling.scripting.velocity
> </Private-Package>
> <Import-Package>
> org.apache.velocity.runtime.log,
> com.werken.xpath; javax.sql;
> org.apache.commons.*; org.apache.log.*;
> org.apache.log4j; org.apache.tools.ant.*;
> org.jdom.*;resolution:=optional, *
> </Import-Package>
>
> <ScriptEngine-Name>${pom.name}</ScriptEngine-Name>
>
> <ScriptEngine-Version>${pom.version}</ScriptEngine-Version>
> </instructions>
> </configuration>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.