[
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"
|
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
>>
>
>