You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Alexander Morozov (JIRA)" <ji...@apache.org> on 2015/03/05 17:37:38 UTC
[jira] [Created] (WICKET-5850) LazyInitProxyFactory causes
NoClassDefFound org/apache/wicket/proxy/ILazyInitProxy in case of
multimodule deployment
Alexander Morozov created WICKET-5850:
-----------------------------------------
Summary: LazyInitProxyFactory causes NoClassDefFound org/apache/wicket/proxy/ILazyInitProxy in case of multimodule deployment
Key: WICKET-5850
URL: https://issues.apache.org/jira/browse/WICKET-5850
Project: Wicket
Issue Type: Bug
Affects Versions: 6.19.0, 6.18.0
Environment: Windows 7 Pro x64, Oracle JDK 7u45 x64, Glassfish 3 (EE6)
Reporter: Alexander Morozov
In case of multimodule deployment, LazyInitProxyFactory#createProxy() ends up with NoClassDefFound error while trying to wrap a class which is being injected into a Wickets component.
{code:java}
CGLibInterceptor handler = new CGLibInterceptor(type, locator);
Enhancer e = new Enhancer();
e.setInterfaces(new Class[] { Serializable.class, ILazyInitProxy.class,
IWriteReplace.class });
e.setSuperclass(type);
e.setCallback(handler);
e.setNamingPolicy(new DefaultNamingPolicy()
{
@Override
public String getClassName(final String prefix, final String source,
final Object key, final Predicate names)
{
return super.getClassName("WICKET_" + prefix, source, key, names);
}
});
return e.create();
{code}
As we can see, Enhancer is not configured with an context-relative classloader. This is the root of the issue.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)