[ 
https://issues.apache.org/jira/browse/CLK-540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bob Schellink closed CLK-540.
-----------------------------

       Resolution: Invalid
    Fix Version/s:     (was: 2.1.0)

Since the packages are the same my only conclusion is this is a ClassLoader 
issue. What I mean by that is if a class are loaded by two different 
ClassLoaders the JVM will see them as two different, incompatible classes, e.g 
one cannot cast one class to the other.

In servlet containers one often find a ClassLoader hierarchy where a global 
classloader is used to load classes which is global to all web applications, 
and each web application also have their own separate classloader. If the 
click.jar is (somehow) placed in the common lib folder it will be loaded by the 
global classloader. If the click.jar is made part of the WAR, the same classes 
will be loaded again by the web application class loader and the above error 
can occur.

I'm no Eclipse expert but know that with Eclipse Ganymede they ship an internal 
Jetty server which might be causing problems? Also Eclipse might be copying the 
click.jar to the shared Jetty library folder? But I'm just guessing and might 
even lead you down the wrong path :)

Anyway I'm closing this issue and I'm quite certain this is not a Click bug. 
You might also want to check on the user mailing list if anyone else has run 
into this issue.

bob

> ClassCastException in XmlConfigService
> --------------------------------------
>
>                 Key: CLK-540
>                 URL: https://issues.apache.org/jira/browse/CLK-540
>             Project: Click
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 2.1.0
>         Environment: Windows XP Professional,
> eclipse ganymede,
> jdk1.6.0,
> tried to run with jetty 6 and tomcat 6.
>            Reporter: Luiz Eduardo Martins Rodrigues
>            Priority: Critical
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> java.lang.ClassCastException: org.apache.click.control.Table cannot be cast 
> to org.apache.click.Control
>       at 
> org.apache.click.service.XmlConfigService.deployControls(XmlConfigService.java:1041)
>       at 
> org.apache.click.service.XmlConfigService.deployFiles(XmlConfigService.java:1095)
>       at 
> org.apache.click.service.XmlConfigService.onInit(XmlConfigService.java:226)
>       at 
> org.apache.click.ClickServlet.initConfigService(ClickServlet.java:1562)
>       at org.apache.click.ClickServlet.init(ClickServlet.java:178)
>       at 
> br.ufpr.hc.infra.hibernate.HibernateClickServlet.init(HibernateClickServlet.java:27)
>       at javax.servlet.GenericServlet.init(GenericServlet.java:211)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:612)
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1216)
>       at 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:509)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:447)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>       at org.mortbay.jetty.Server.doStart(Server.java:222)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at runjettyrun.Bootstrap.main(Bootstrap.java:76)
> at the same time, I´ve created a main method inside the project with these 
> lines:
> String classname = "org.apache.click.control.Table";
> Class deployClass = ClickUtils.classForName(classname);
> Control control = (Control) deployClass.newInstance();
> and it worked...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to