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
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.