Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tigerstripe-users] Velocity classloader error "java.lang.NoClassDefFoundError: org/apache/log/format/Formatter"

Eric,

I logged a request in bugzilla.
I tried already with a clean workspace. I am planning to do it again
and i will update on this.

- Kalyan

On Wed, May 7, 2008 at 12:39 AM, Eric Dillon <erdillon@xxxxxxxxx> wrote:
> I am still confused. Why is it that you are running into this error, when we
>  don't. We have been using this for close to a year in production at Cisco...
>  And didn't encounter that problem, although both our models and generation
>  plugins are quite involved.
>
>  How about starting from scratch? Have you tried to use a clean workspace,
>  new project, simple template to isolate this issue?
>
>  The Velocity-1.5.jar that we include in the plugins is straight
>  out-of-the-box from the Apache velocity site (we can distribute the binary
>  without touching it. Distributing a modified version would need to be
>  reviewed by Eclipse Legal). We haven't had to change any of the default
>  settings yet to my best knowledge.
>
>  Dumping the classpath of a generation plugin is certainly an option. Would
>  you mind logging this as bug in Bugzilla? I could add this in the code so
>  you could pick it up from a nightly build if that helps?
>
>  Eric
>
>
>
>  On 5/6/08 4:21 PM, "KV" <kalyan.abbaraju@xxxxxxxxx> wrote:
>
>  > Hi Eric,
>  >
>
>
> > Thanks for the details. I got a picture on the lib directory.
>  > As you suggested I tried to add this Avalon logging jar to my plug-in
>  > dependency list velocity did not pick up. May be I have done some
>  > thing wrong. I still have to check on this.
>  >
>  >> From the stack trace, class loading seems to be failing in
>  > VelocityEngine.init() itself. I do not think macro execution started
>  >  at all. But to confirm it I am trying to debug it further.
>  >  Based on velocity manuals (links below) and velocity-1.5 source code,
>  >  the default value for the log class is Apache Avalon. since the
>  >  relevant jar is not present velocity initialization is failing.
>  >
>  > http://velocity.apache.org/engine/releases/velocity-1.5/developer-guide.html#v
>  > elocity_configuration_keys_and_values
>  >
>  > http://velocity.apache.org/engine/releases/velocity-1.5/developer-guide.html#c
>  > onfiguring_logging
>  >
>  >  For your reference, here is the content from
>  >
>  > velocity-1.5\src\java\org\apache\velocity\runtime\defaults\velocity.properties
>  >  runtime.log.logsystem.class =
>  >
>  > org.apache.velocity.runtime.log.AvalonLogChute,org.apache.velocity.runtime.log
>  > .Log4JLogChute,org.apache.velocity.runtime.log.JdkLogChute
>  >  runtime.log = velocity.log
>  >
>  >   I have some more questions:
>  >   - Based on the above information is there any possibility of
>  > changing run time logger for velocity in tigerstripe? At least can it
>  > be a
>  >   minor requirement for future releases?
>  >   - Is there any way to dump the classpath in tigerstipe.log or some
>  >   other log during the plugin generation?
>  >
>  >   Regards
>  >   Kalyan
>  >
>  >
>  >>  On Tue, May 6, 2008 at 11:03 PM, Eric Dillon <erdillon@xxxxxxxxx> wrote:
>  >>> Hi Kalyan,
>  >>>
>  >>>  See my comments/responses inline.
>  >>>
>  >>>  Still, I'm surprise we haven't run into this here. Are you able to figure
>  >>>  out what is the trigger of all this in the velocity templates you're using?
>  >>>
>  >>>  Eric
>  >>>
>  >>>
>  >>>
>  >>>  On 5/6/08 2:52 PM, "KV" <kalyan.abbaraju@xxxxxxxxx> wrote:
>  >>>
>  >>>> Hi Eric,
>  >>>>
>  >>>> Yes. The generation is completely failing. I did ensure that I am
>  >>>> using only one velocity jar file.
>  >>>> And also I have posted this question in velocity users list also. But
>  >>>> at the moment i did not get any new answer. I am currently planning to
>  >>>> check the following two options.
>  >>>>
>  >>>> 1) Include the relevant jar
>  >>>> I checked for the class "org/apache/log/format/Formatter" and I found
>  >>>> it in avalon-logkit-current.jar from apache.
>  >>>> I downloaded this jar and copied to tigerstripe/lib directory to
>  >>>> verify it works. But no luck.
>  >>>  Well, the tigerstripe/lib is only used when running Tigerstripe headless
>  >>>  (i.e. Outside of the IDE from Maven e.g.). So if you added the .jar there
>  >>> it
>  >>>  would not have been picked up.
>  >>>  You want to package it with your generation plugin as an additional
>  >>>  classpath entry. This way the content of the .jar is going to be available
>  >>>  to velocity at runtime. To do so, copy it in your generation project.
>  >>>  Open the ts-plugin.xml and on the "runtime" tab, add the .jar as a
>  >>> classpath
>  >>>  entry. Save the ts-plugin.xml file.
>  >>>
>  >>>  Try to re-deploy and run.
>  >>>
>  >>>
>  >>>>
>  >>>> 2) Check with velocity if another log instance can be used. for example
>  >>>> log4j.
>  >>>> At the moment i am working on this. I can update you once I am
>  >>>> successful in this.
>  >>>>
>  >>>> But I would like to understand the relevance of tigerstripe/lib
>  >>>> directory under eclipse? Can you please enlighten me under what
>  >>>> circumstances  I can use this directory?
>  >>>> Also if you have any other suggestions it would help me a lot.
>  >>>  As mentioned above, this tigerstripe/lib is only relevant when running
>  >>>  headless. Any .jar that needs to be visible from a generation plugin should
>  >>>  be packaged as an additional classpath entry as explained above.
>  >>>
>  >>>  This was designed so that you can include any .jar in the code of a
>  >>>  generation plugin.
>  >>>
>  >>>
>  >>>>
>  >>>> Thanks & Best Regards
>  >>>> Kalyan
>  >>>>
>  >>>> On Tue, May 6, 2008 at 5:30 PM, Eric Dillon <erdillon@xxxxxxxxx> wrote:
>  >>>>> Hi Kalyan,
>  >>>>>
>  >>>>>  I am afraid I don't know what is going on here. I am tempted however to
>  >>>>>  blame it on velocity :-).
>  >>>>>
>  >>>>>  I did google the exception and saw your post on some other forum. I saw a
>  >>>>>  note there about having multiple instances of the velocity-1.5.jar which
>  >>>>> is
>  >>>>>  not the case here.
>  >>>>>
>  >>>>>  Now, what are the symptoms of the error (beyond the log in the mail)?
>  >>>>> Does
>  >>>>>  your generation fail completely?
>  >>>>>
>  >>>>>  Eric
>  >>>>>
>  >>>>>
>  >>>>>
>  >>>>>
>  >>>>>  On 5/2/08 11:54 AM, "KV" <kalyan.abbaraju@xxxxxxxxx> wrote:
>  >>>>>
>  >>>>>> Hi,
>  >>>>>>
>  >>>>>>  I am getting the following class loader error while doing the code
>  >>>>>> generation with my plugin. I tried to include both log4j and
>  >>>>>> commons-logging explicitly to project class path. But it did not help.
>  >>>>>>
>  >>>>>> Can you please suggest a solution?
>  >>>>>> 2008-05-02 19:41:51,515 - Log4JLogChute initialized using file
>  >>>>>> 'velocity.log'
>  >>>>>> 2008-05-02 19:41:51,515 - Starting Apache Velocity v1.5 (compiled:
>  >>>>>> 2007-02-22 08:52:29)
>  >>>>>> 2008-05-02 19:41:51,515 - Default Properties File:
>  >>>>>> org\apache\velocity\runtime\defaults\velocity.properties
>  >>>>>> 2008-05-02 19:41:51,515 - Trying to use logger class
>  >>>>>> org.apache.velocity.runtime.log.AvalonLogChute
>  >>>>>> 2008-05-02 19:41:51,515 - Couldn't find class
>  >>>>>> org.apache.velocity.runtime.log.AvalonLogChute or necessary supporting
>  >>>>>> classes in classpath.
>  >>>>>> java.lang.NoClassDefFoundError: org/apache/log/format/Formatter
>  >>>>>> at java.lang.Class.forName0(Native Method)
>  >>>>>> at java.lang.Class.forName(Unknown Source)
>  >>>>>> at org.apache.velocity.util.ClassUtils.getClass(ClassUtils.java:63)
>  >>>>>> at org.apache.velocity.util.ClassUtils.getNewInstance(ClassUtils.java:95)
>  >>>>>> at
>  >>>>>> org.apache.velocity.runtime.log.LogManager.createLogChute(LogManager.java
>  >>>>>> :14
>  >>>>>> 7)
>  >>>>>> at
>  >>>>>> org.apache.velocity.runtime.log.LogManager.updateLog(LogManager.java:208)
>  >>>>>> at
>  >>>>>> org.apache.velocity.runtime.RuntimeInstance.initializeLog(RuntimeInstance
>  >>>>>> .ja
>  >>>>>> va
>  >>>>>> :728)
>  >>>>>> at
>  >>>>>>
>  org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:240>>>>>>
>  )
>  >>>>>> at
>  >>>>>>
>  org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:534>>>>>>
>  )
>  >>>>>> at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:144)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.project.pluggable.rules.T
>  >>>>>> emp
>  >>>>>> la
>  >>>>>> teBasedRule.setClasspathLoaderForVelocity(TemplateBasedRule.java:329)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.project.pluggable.rules.A
>  >>>>>> rti
>  >>>>>> fa
>  >>>>>> ctBasedRule.trigger(ArtifactBasedRule.java:192)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.plugin.pluggable.PluginRu
>  >>>>>> leE
>  >>>>>> xe
>  >>>>>> cutor.trigger(PluginRuleExecutor.java:102)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.plugin.pluggable.Pluggabl
>  >>>>>> ePl
>  >>>>>> ug
>  >>>>>> in.trigger(PluggablePlugin.java:123)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.plugin.PluginHousing.trig
>  >>>>>> ger
>  >>>>>> (P
>  >>>>>> luginHousing.java:40)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.plugin.PluginConfig.trigg
>  >>>>>> er(
>  >>>>>> Pl
>  >>>>>> uginConfig.java:250)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.generation.M1Generator.in
>  >>>>>> ter
>  >>>>>> na
>  >>>>>> lPluginLoop(M1Generator.java:610)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.generation.M1Generator.in
>  >>>>>> ter
>  >>>>>> na
>  >>>>>> lRun(M1Generator.java:553)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.internal.core.generation.M1Generator.ru
>  >>>>>> n(M
>  >>>>>> 1G
>  >>>>>> enerator.java:350)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.eclipse.wizards.generate.NewTigerstripe
>  >>>>>> Run
>  >>>>>> Wi
>  >>>>>> zard.finishPage(NewTigerstripeRunWizard.java:131)
>  >>>>>> at
>  >>>>>> org.eclipse.tigerstripe.workbench.eclipse.wizards.NewTSElementWizard$2.ru
>  >>>>>> n(N
>  >>>>>> ew
>  >>>>>> TSElementWizard.java:193)
>  >>>>>> at
>  >>>>>> org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperat
>  >>>>>> ion
>  >>>>>> .j
>  >>>>>> ava:39)
>  >>>>>> at
>  >>>>>> org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.j
>  >>>>>> ava
>  >>>>>> :7
>  >>>>>> 20)
>  >>>>>> at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
>  >>>>>> at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4466)
>  >>>>>> at
>  >>>>>> org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(Workbenc
>  >>>>>> hRu
>  >>>>>> nn
>  >>>>>> ableAdapter.java:87)
>  >>>>>> at
>  >>>>>> org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalCont
>  >>>>>> ext
>  >>>>>> .j
>  >>>>>> ava:113)
>  >>>>>> 2008-05-02 19:41:51,515 - Trying to use logger class
>  >>>>>> org.apache.velocity.runtime.log.Log4JLogChute
>  >>>>>> 2008-05-02 19:41:51,515 - Using logger class
>  >>>>>> org.apache.velocity.runtime.log.Log4JLogChute
>  >>>>>> 2008-05-02 19:41:51,515 - Default ResourceManager initializing. (class
>  >>>>>> org.apache.velocity.runtime.resource.ResourceManagerImpl)
>  >>>>>> 2008-05-02 19:41:51,515 - ResourceLoader instantiated:
>  >>>>>> org.apache.velocity.runtime.resource.loader.FileResourceLoader
>  >>>>>>
>  >>>>>> Regards
>  >>>>>> Kalyan
>  >>>>>> _______________________________________________
>  >>>>>> tigerstripe-users mailing list
>  >>>>>> tigerstripe-users@xxxxxxxxxxx
>  >>>>>> https://dev.eclipse.org/mailman/listinfo/tigerstripe-users
>  >>>>>
>  >>>>>  _______________________________________________
>  >>>>>  tigerstripe-users mailing list
>  >>>>>  tigerstripe-users@xxxxxxxxxxx
>  >>>>>  https://dev.eclipse.org/mailman/listinfo/tigerstripe-users
>  >>>>>
>  >>>>
>  >>>>
>  >>>
>  >>>  _______________________________________________
>  >>>  tigerstripe-users mailing list
>  >>>  tigerstripe-users@xxxxxxxxxxx
>  >>>  https://dev.eclipse.org/mailman/listinfo/tigerstripe-users
>  >>>
>  >>
>  >>
>  >>
>  >>
>  >>
>  >> --
>  >>  Kalyan Abbaraju
>  >>  Home +91 8066649703
>  >>  Mobile +91 99005 16895
>  >>
>  >
>  >
>
>  _______________________________________________
>  tigerstripe-users mailing list
>  tigerstripe-users@xxxxxxxxxxx
>  https://dev.eclipse.org/mailman/listinfo/tigerstripe-users
>



-- 
Kalyan Abbaraju
Home +91 8066649703
Mobile +91 99005 16895


Back to the top