Adrian, Yes, I'm using commons-collections-2.1 and velocity-dep-1.5 in my application.
I saw that OrderedMap was using the WebAppClassLoader before Velocity and when it starts the conflict occurs, but I still don't know what component uses the OrderedMap. Thanks, Lucas. -----Mensagem original----- De: Adrian Tarau [mailto:[EMAIL PROTECTED] Enviada em: quinta-feira, 25 de setembro de 2008 16:21 Para: Velocity Users List Assunto: Re: Trying to run velocity with JBoss Lucas, This is not related with resource loading, there is a class version conflict in the classloader. Do you use velocity-dep-1.5.jar and you have Jakarta Commons Collections in your application? Lucas Balensiefer wrote: > Hi folks, > > > > I'm trying to run Velocity 1.5 with a web application inside JBoss. I use > Velocity to generate some files, I'm not using to view them. > > > > My code is running fine standalone, but when I'm deploying this in JBoss and > invoke my class by the application, the exception is thrown: > > > > 14:17:37,896 ERROR [STDERR] java.lang.LinkageError: loader constraint > violation: loader (instance of > org/jboss/web/tomcat/service/WebAppClassLoader) previously initiated loading > for a different type with name "org/apache/commons/collections/OrderedMap" > > 14:17:37,912 ERROR [STDERR] at java.lang.ClassLoader.defineClass1(Native > Method) > > 14:17:37,912 ERROR [STDERR] at java.lang.ClassLoader.defineClass(Unknown > Source) > > 14:17:37,912 ERROR [STDERR] at > java.security.SecureClassLoader.defineClass(Unknown Source) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo > ader.java:1817) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav > a:872) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav > a:1325) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav > a:1204) > > 14:17:37,912 ERROR [STDERR] at > java.lang.ClassLoader.loadClassInternal(Unknown Source) > > 14:17:37,912 ERROR [STDERR] at java.lang.ClassLoader.defineClass1(Native > Method) > > 14:17:37,912 ERROR [STDERR] at java.lang.ClassLoader.defineClass(Unknown > Source) > > 14:17:37,912 ERROR [STDERR] at > java.security.SecureClassLoader.defineClass(Unknown Source) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo > ader.java:1817) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav > a:872) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav > a:1325) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav > a:1204) > > 14:17:37,912 ERROR [STDERR] at > java.lang.ClassLoader.loadClassInternal(Unknown Source) > > 14:17:37,912 ERROR [STDERR] at java.lang.ClassLoader.defineClass1(Native > Method) > > 14:17:37,912 ERROR [STDERR] at java.lang.ClassLoader.defineClass(Unknown > Source) > > 14:17:37,912 ERROR [STDERR] at > java.security.SecureClassLoader.defineClass(Unknown Source) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLo > ader.java:1817) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.jav > a:872) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav > a:1325) > > 14:17:37,912 ERROR [STDERR] at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav > a:1204) > > 14:17:37,912 ERROR [STDERR] at > java.lang.ClassLoader.loadClassInternal(Unknown Source) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.runtime.resource.ResourceCacheImpl.initialize(ResourceCa > cheImpl.java:71) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.runtime.resource.ResourceManagerImpl.initialize(Resource > ManagerImpl.java:198) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(Runtim > eInstance.java:594) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:241) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:534) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.runtime.RuntimeSingleton.init(RuntimeSingleton.java:227) > > 14:17:37,927 ERROR [STDERR] at > org.apache.velocity.app.Velocity.init(Velocity.java:111) > > 14:17:37,927 ERROR [STDERR] at > br.com.cwi.reporttool.report.build.velocity.VelocityHandler.<init>(VelocityH > andler.java:41) > > > > > > I already tried others alternatives (loading by WebappLoader or > ClasspathLoader), but I can't to load the file too. I prefer to use the > FileResourceLoader, but If exists a solution using other Loader, that's ok. > > My code is: > > > > public class VelocityHandler { > > > > private VelocityContext context = null; > > private Template template = null; > > > > private static Logger logger = Logger.getLogger(VelocityHandler.class); > > > > public VelocityHandler(final String templateFile, final String > templatesDir) throws BuildException { > > > > try { > > Properties p = new Properties(); > > > > //p.setProperty("resource.loader", "webapp"); > > //p.setProperty("webapp.resource.loader.class", > "org.apache.velocity.tools.view.servlet.WebappLoader"); > > > > p.setProperty("resource.loader","file"); > > > p.setProperty("file.resource.loader.class","org.apache.velocity.runtime.reso > urce.loader.FileResourceLoader"); > > p.setProperty("file.resource.loader.path", templatesDir); > > > > //p.setProperty( "resource.loader", "class" ); > > //p.setProperty( "class.resource.loader.class", > "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); > > > > try { > > Velocity.init(p); > > } catch (Throwable e) { > > e.printStackTrace(); > > } > > > > ... > > > > > > > > Thanks, > > Lucas Balensiefer > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
