[
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