You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Britske <gb...@gmail.com> on 2007/12/21 19:32:00 UTC
T5: Linkage error .... violates loader constraints
I'm going slightly insane on this one..
that's because everything worked fine, and after some slight modifications
(none that could cause such errors I believe) I can't backtrack anymore
where things went wrong.
The error I'm getting is this:
Could not convert 'page.quickNavigation' into a component parameter binding:
java.lang.LinkageError: Class
com/wrappt/aroer/base/AbstractNavigationContainer violates loader
constraints.
for full stack-trace see entirely below.
location
classpath:com/wrappt/aroer/components/BaseLayout.tml, line 122, column
77
117 <div class="h plain">
118 <h2>Verfijn de resultaten</h2>
119 </div>
120 <div class="c">
121 <!-- <t:quickForm t:id="quickForm"/>-->
122 <t:delegate t:id="quickFormDelegate" t:to="page.quickNavigation"/>
<-- here it happens
123 </div>
124 <div class="f"> </div>
125 </div>
126 </div>
127 </div>
the setup is not that simple, but here it goes anyway:
- baselayout is a basic layout that wraps all pages as implemented in an
abstract class called superPage.
- all pages extend SuperPage.
- SuperPage implements ISuperPage (for mixing services with components)
- all pages have a quicknavigation component , although their implementation
can be different.
- each quickNavigation-component inherits from AbstractNavigationContainer
(which is where the loader constraint happens)
the relevant parts:
BaseLayout
----------------------
@Parameter(required = true)
private ISuperPage page;
public ISuperPage getPage()
{
return (ISuperPage)page;
}
SuperPage (implements ISuperPage)
--------------
@Component(parameters={"page=this"})
private BaseLayout bl;
public abstract AbstractNavigationContainer getQuickNavigation();
Aanbiedingen extends SuperPage
----------------------------------
@Component private QuickFormAllResults quickNavigation;
public QuickFormAllResults getQuickNavigation() {
return this.quickNavigation;
}
Aanbiedingen.tml
----------------------
<t:baselayout t:id="bl"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
<t:block>
<t:quickformallresults t:id="quickNavigation"/>
</t:block>
...
</t:baselayout>
and finally:
QuickFormAllResults extends AbstractNavigationContainer
---------------------
// nothing intersteing here
AbstractNavigationContainer
-------------------------------
public SuperPage getPage()
{
..... //uses componentresources to recursively traverse the tree upwards
until it finds a componet
of type SuperPage and returns that..
}
I'm really out of options, as I can't seem to comment enough lines to make
it work: when i comment quicknavigation in baselayout.tml the error simply
shifts to another component that implements AbstractNavigationContainer
Thanks a lot for any help!
Geert-Jan
p.s: i was on 5.0.7 SNAPSHOT and now back on 5.0.6
stacktrace:
Caused by: java.lang.LinkageError: Class
com/wrappt/aroer/base/AbstractNavigationContainer violates loader
constraints
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
at java.lang.Class.getDeclaredMethods(Class.java:1763)
at java.beans.Introspector$1.run(Introspector.java:1265)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)
at java.beans.Introspector.getBeanInfo(Introspector.java:387)
at java.beans.Introspector.getBeanInfo(Introspector.java:159)
at
org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:85)
... 72 more
--
View this message in context: http://www.nabble.com/T5%3A-Linkage-error-....-violates-loader-constraints-tp14460169p14460169.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Linkage error .... violates loader constraints
Posted by Britske <gb...@gmail.com>.
what do you mean exactly by "trying to define a class in classloader" ?
I didn't do anything special in creating these instances and just follow the
normal route.
The one thing that may have some, I dont'know : "dependency cycle thing"
going on is:
SuperPage referencing component quickNavigation
and quickNavigation referencing Superpage by using componentResources to
travere the component-tree upwards.
No sign of double recreating a base-class twice (in one pass)
please keep the options coming,
I will investigate further,
Geert-Jan
joshcanfield wrote:
>
> That error can be caused by trying to define a class in classloader which
> already contains a class with the same name. I believe that Tapestry does
> some magic with the component base classes when it is extending them...
> maybe there is something causing Tapestry to try and recreate the base
> class
> twice?
>
> On Dec 21, 2007 10:37 AM, Britske <gb...@gmail.com> wrote:
>
>>
>> As an addition:
>>
>> also pointing out what type of errors are likely to cause these errors
>> would
>> help.
>> I know that mixing injection with components can give loader constraints,
>> which is why i created an interface for SuperPage. Moreover, I can
>> mimagine
>> that cyclic references would cause errors as well. Are there any others
>> that
>> I should track in my code?
>>
>> Thanks again,
>> Geert-Jan
>>
>>
>> Britske wrote:
>> >
>> > I'm going slightly insane on this one..
>> > that's because everything worked fine, and after some slight
>> modifications
>> > (none that could cause such errors I believe) I can't backtrack
>> anymore
>> > where things went wrong.
>> >
>> > The error I'm getting is this:
>> >
>> > Could not convert 'page.quickNavigation' into a component parameter
>> > binding: java.lang.LinkageError: Class
>> > com/wrappt/aroer/base/AbstractNavigationContainer violates loader
>> > constraints.
>> > for full stack-trace see entirely below.
>> >
>> > location
>> > classpath:com/wrappt/aroer/components/BaseLayout.tml, line 122,
>> column
>> > 77
>> > 117 <div class="h plain">
>> > 118 <h2>Verfijn de resultaten</h2>
>> > 119 </div>
>> > 120 <div class="c">
>> > 121 <!-- <t:quickForm t:id="quickForm"/>-->
>> > 122 <t:delegate t:id="quickFormDelegate" t:to="
>> page.quickNavigation"/>
>> > <-- here it happens
>> > 123 </div>
>> > 124 <div class="f"> </div>
>> > 125 </div>
>> > 126 </div>
>> > 127 </div>
>> >
>> > the setup is not that simple, but here it goes anyway:
>> >
>> > - baselayout is a basic layout that wraps all pages as implemented in
>> an
>> > abstract class called superPage.
>> > - all pages extend SuperPage.
>> > - SuperPage implements ISuperPage (for mixing services with components)
>> > - all pages have a quicknavigation component , although their
>> > implementation can be different.
>> > - each quickNavigation-component inherits from
>> AbstractNavigationContainer
>> > (which is where the loader constraint happens)
>> >
>> > the relevant parts:
>> >
>> > BaseLayout
>> > ----------------------
>> > @Parameter(required = true)
>> > private ISuperPage page;
>> > public ISuperPage getPage()
>> > {
>> > return (ISuperPage)page;
>> > }
>> >
>> >
>> > SuperPage (implements ISuperPage)
>> > --------------
>> > @Component(parameters={"page=this"})
>> > private BaseLayout bl;
>> >
>> > public abstract AbstractNavigationContainer getQuickNavigation();
>> >
>> > Aanbiedingen extends SuperPage
>> > ----------------------------------
>> > @Component private QuickFormAllResults quickNavigation;
>> > public QuickFormAllResults getQuickNavigation() {
>> > return this.quickNavigation;
>> > }
>> >
>> > Aanbiedingen.tml
>> > ----------------------
>> > <t:baselayout t:id="bl"
>> > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
>> > <t:block>
>> > <t:quickformallresults t:id="quickNavigation"/>
>> > </t:block>
>> > ...
>> > </t:baselayout>
>> >
>> > and finally:
>> > QuickFormAllResults extends AbstractNavigationContainer
>> > ---------------------
>> > // nothing intersteing here
>> >
>> >
>> > AbstractNavigationContainer
>> > -------------------------------
>> > public SuperPage getPage()
>> > {
>> > ..... //uses componentresources to recursively traverse the tree
>> upwards
>> > until it finds a componet
>> > of type SuperPage and returns that..
>> > }
>> >
>> >
>> > I'm really out of options, as I can't seem to comment enough lines to
>> make
>> > it work: when i comment quicknavigation in baselayout.tml the error
>> > simply shifts to another component that implements
>> > AbstractNavigationContainer
>> >
>> > Thanks a lot for any help!
>> > Geert-Jan
>> >
>> > p.s: i was on 5.0.7 SNAPSHOT and now back on 5.0.6
>> >
>> > stacktrace:
>> > Caused by: java.lang.LinkageError: Class
>> > com/wrappt/aroer/base/AbstractNavigationContainer violates loader
>> > constraints
>> > at java.lang.ClassLoader.defineClass1(Native Method)
>> > at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>> > at
>> > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
>> > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
>> > at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
>> > at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
>> > at java.security.AccessController.doPrivileged(Native Method)
>> > at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>> > at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>> > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
>> > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>> > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>> > at java.lang.Class.getDeclaredMethods0(Native Method)
>> > at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
>> > at java.lang.Class.getDeclaredMethods(Class.java:1763)
>> > at java.beans.Introspector$1.run(Introspector.java:1265)
>> > at java.security.AccessController.doPrivileged(Native Method)
>> > at
>> >
>> java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
>> > at java.beans.Introspector.getTargetMethodInfo(Introspector.java
>> :1129)
>> > at java.beans.Introspector.getBeanInfo(Introspector.java:387)
>> > at java.beans.Introspector.getBeanInfo(Introspector.java:159)
>> > at
>> >
>> org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(
>> PropertyAccessImpl.java:85)
>> > ... 72 more
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/T5%3A-Linkage-error-....-violates-loader-constraints-tp14460169p14460173.html
>> Sent from the Tapestry - User mailing list archive at
>> Nabble.com<http://nabble.com/>
>> .
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>
>
> --
> --
> TheDailyTube.com. Sign up and get the best new videos on the internet
> delivered fresh to your inbox.
>
>
--
View this message in context: http://www.nabble.com/T5%3A-Linkage-error-....-violates-loader-constraints-tp14460169p14463292.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: Linkage error .... violates loader constraints
Posted by Josh Canfield <jo...@thedailytube.com>.
That error can be caused by trying to define a class in classloader which
already contains a class with the same name. I believe that Tapestry does
some magic with the component base classes when it is extending them...
maybe there is something causing Tapestry to try and recreate the base class
twice?
On Dec 21, 2007 10:37 AM, Britske <gb...@gmail.com> wrote:
>
> As an addition:
>
> also pointing out what type of errors are likely to cause these errors
> would
> help.
> I know that mixing injection with components can give loader constraints,
> which is why i created an interface for SuperPage. Moreover, I can
> mimagine
> that cyclic references would cause errors as well. Are there any others
> that
> I should track in my code?
>
> Thanks again,
> Geert-Jan
>
>
> Britske wrote:
> >
> > I'm going slightly insane on this one..
> > that's because everything worked fine, and after some slight
> modifications
> > (none that could cause such errors I believe) I can't backtrack anymore
> > where things went wrong.
> >
> > The error I'm getting is this:
> >
> > Could not convert 'page.quickNavigation' into a component parameter
> > binding: java.lang.LinkageError: Class
> > com/wrappt/aroer/base/AbstractNavigationContainer violates loader
> > constraints.
> > for full stack-trace see entirely below.
> >
> > location
> > classpath:com/wrappt/aroer/components/BaseLayout.tml, line 122,
> column
> > 77
> > 117 <div class="h plain">
> > 118 <h2>Verfijn de resultaten</h2>
> > 119 </div>
> > 120 <div class="c">
> > 121 <!-- <t:quickForm t:id="quickForm"/>-->
> > 122 <t:delegate t:id="quickFormDelegate" t:to="
> page.quickNavigation"/>
> > <-- here it happens
> > 123 </div>
> > 124 <div class="f"> </div>
> > 125 </div>
> > 126 </div>
> > 127 </div>
> >
> > the setup is not that simple, but here it goes anyway:
> >
> > - baselayout is a basic layout that wraps all pages as implemented in an
> > abstract class called superPage.
> > - all pages extend SuperPage.
> > - SuperPage implements ISuperPage (for mixing services with components)
> > - all pages have a quicknavigation component , although their
> > implementation can be different.
> > - each quickNavigation-component inherits from
> AbstractNavigationContainer
> > (which is where the loader constraint happens)
> >
> > the relevant parts:
> >
> > BaseLayout
> > ----------------------
> > @Parameter(required = true)
> > private ISuperPage page;
> > public ISuperPage getPage()
> > {
> > return (ISuperPage)page;
> > }
> >
> >
> > SuperPage (implements ISuperPage)
> > --------------
> > @Component(parameters={"page=this"})
> > private BaseLayout bl;
> >
> > public abstract AbstractNavigationContainer getQuickNavigation();
> >
> > Aanbiedingen extends SuperPage
> > ----------------------------------
> > @Component private QuickFormAllResults quickNavigation;
> > public QuickFormAllResults getQuickNavigation() {
> > return this.quickNavigation;
> > }
> >
> > Aanbiedingen.tml
> > ----------------------
> > <t:baselayout t:id="bl"
> > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
> > <t:block>
> > <t:quickformallresults t:id="quickNavigation"/>
> > </t:block>
> > ...
> > </t:baselayout>
> >
> > and finally:
> > QuickFormAllResults extends AbstractNavigationContainer
> > ---------------------
> > // nothing intersteing here
> >
> >
> > AbstractNavigationContainer
> > -------------------------------
> > public SuperPage getPage()
> > {
> > ..... //uses componentresources to recursively traverse the tree
> upwards
> > until it finds a componet
> > of type SuperPage and returns that..
> > }
> >
> >
> > I'm really out of options, as I can't seem to comment enough lines to
> make
> > it work: when i comment quicknavigation in baselayout.tml the error
> > simply shifts to another component that implements
> > AbstractNavigationContainer
> >
> > Thanks a lot for any help!
> > Geert-Jan
> >
> > p.s: i was on 5.0.7 SNAPSHOT and now back on 5.0.6
> >
> > stacktrace:
> > Caused by: java.lang.LinkageError: Class
> > com/wrappt/aroer/base/AbstractNavigationContainer violates loader
> > constraints
> > at java.lang.ClassLoader.defineClass1(Native Method)
> > at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> > at
> > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
> > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> > at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> > at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
> > at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> > at java.lang.Class.getDeclaredMethods0(Native Method)
> > at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
> > at java.lang.Class.getDeclaredMethods(Class.java:1763)
> > at java.beans.Introspector$1.run(Introspector.java:1265)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> > java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
> > at java.beans.Introspector.getTargetMethodInfo(Introspector.java
> :1129)
> > at java.beans.Introspector.getBeanInfo(Introspector.java:387)
> > at java.beans.Introspector.getBeanInfo(Introspector.java:159)
> > at
> >
> org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(
> PropertyAccessImpl.java:85)
> > ... 72 more
> >
>
> --
> View this message in context:
> http://www.nabble.com/T5%3A-Linkage-error-....-violates-loader-constraints-tp14460169p14460173.html
> Sent from the Tapestry - User mailing list archive at Nabble.com<http://nabble.com/>
> .
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
--
TheDailyTube.com. Sign up and get the best new videos on the internet
delivered fresh to your inbox.
Re: T5: Linkage error .... violates loader constraints
Posted by Britske <gb...@gmail.com>.
As an addition:
also pointing out what type of errors are likely to cause these errors would
help.
I know that mixing injection with components can give loader constraints,
which is why i created an interface for SuperPage. Moreover, I can mimagine
that cyclic references would cause errors as well. Are there any others that
I should track in my code?
Thanks again,
Geert-Jan
Britske wrote:
>
> I'm going slightly insane on this one..
> that's because everything worked fine, and after some slight modifications
> (none that could cause such errors I believe) I can't backtrack anymore
> where things went wrong.
>
> The error I'm getting is this:
>
> Could not convert 'page.quickNavigation' into a component parameter
> binding: java.lang.LinkageError: Class
> com/wrappt/aroer/base/AbstractNavigationContainer violates loader
> constraints.
> for full stack-trace see entirely below.
>
> location
> classpath:com/wrappt/aroer/components/BaseLayout.tml, line 122, column
> 77
> 117 <div class="h plain">
> 118 <h2>Verfijn de resultaten</h2>
> 119 </div>
> 120 <div class="c">
> 121 <!-- <t:quickForm t:id="quickForm"/>-->
> 122 <t:delegate t:id="quickFormDelegate" t:to="page.quickNavigation"/>
> <-- here it happens
> 123 </div>
> 124 <div class="f"> </div>
> 125 </div>
> 126 </div>
> 127 </div>
>
> the setup is not that simple, but here it goes anyway:
>
> - baselayout is a basic layout that wraps all pages as implemented in an
> abstract class called superPage.
> - all pages extend SuperPage.
> - SuperPage implements ISuperPage (for mixing services with components)
> - all pages have a quicknavigation component , although their
> implementation can be different.
> - each quickNavigation-component inherits from AbstractNavigationContainer
> (which is where the loader constraint happens)
>
> the relevant parts:
>
> BaseLayout
> ----------------------
> @Parameter(required = true)
> private ISuperPage page;
> public ISuperPage getPage()
> {
> return (ISuperPage)page;
> }
>
>
> SuperPage (implements ISuperPage)
> --------------
> @Component(parameters={"page=this"})
> private BaseLayout bl;
>
> public abstract AbstractNavigationContainer getQuickNavigation();
>
> Aanbiedingen extends SuperPage
> ----------------------------------
> @Component private QuickFormAllResults quickNavigation;
> public QuickFormAllResults getQuickNavigation() {
> return this.quickNavigation;
> }
>
> Aanbiedingen.tml
> ----------------------
> <t:baselayout t:id="bl"
> xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
> <t:block>
> <t:quickformallresults t:id="quickNavigation"/>
> </t:block>
> ...
> </t:baselayout>
>
> and finally:
> QuickFormAllResults extends AbstractNavigationContainer
> ---------------------
> // nothing intersteing here
>
>
> AbstractNavigationContainer
> -------------------------------
> public SuperPage getPage()
> {
> ..... //uses componentresources to recursively traverse the tree upwards
> until it finds a componet
> of type SuperPage and returns that..
> }
>
>
> I'm really out of options, as I can't seem to comment enough lines to make
> it work: when i comment quicknavigation in baselayout.tml the error
> simply shifts to another component that implements
> AbstractNavigationContainer
>
> Thanks a lot for any help!
> Geert-Jan
>
> p.s: i was on 5.0.7 SNAPSHOT and now back on 5.0.6
>
> stacktrace:
> Caused by: java.lang.LinkageError: Class
> com/wrappt/aroer/base/AbstractNavigationContainer violates loader
> constraints
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
> at java.lang.Class.getDeclaredMethods(Class.java:1763)
> at java.beans.Introspector$1.run(Introspector.java:1265)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
> at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)
> at java.beans.Introspector.getBeanInfo(Introspector.java:387)
> at java.beans.Introspector.getBeanInfo(Introspector.java:159)
> at
> org.apache.tapestry.ioc.internal.services.PropertyAccessImpl.buildAdapter(PropertyAccessImpl.java:85)
> ... 72 more
>
--
View this message in context: http://www.nabble.com/T5%3A-Linkage-error-....-violates-loader-constraints-tp14460169p14460173.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org