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.

Reply via email to