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.