This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Design-time completely breaks on binding to classes declared in external projects/jars | ||
---|---|---|---|
Product: | obsolete | Reporter: | bikestain <bikestain> |
Component: | visualweb | Assignee: | _ deva <deva> |
Status: | VERIFIED FIXED | ||
Severity: | blocker | CC: | deva |
Priority: | P1 | ||
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: |
Description
bikestain
2008-03-15 22:06:31 UTC
Did you compile and refresh the page?. I'll try to reproduce this on Monday. Yes, indeed. Compiled, refreshed, closed/reopened project, restarted ide. Tried that all. Reproduced with NetBeans IDE Dev (Build 20080317180120 - hudson trunk 1136): currentModel property does not appear under Page1 from Bind to Data dialog as it does in 6.0.1. What's more, also don't see Application,Request,SessionBean in the Bind to Data, Bind to Object dialog as we used to see in 6.0.1. I think this is same issue, I just discovered our "Travel Center" sample app has the same designtime component error with javax.faces.FacesException: javax.el.ELException: javax.faces.el.PropertyNotFoundException: javax.el.PropertyNotFoundException: java.lang.NullPointerException yet runtime works. Accepted. I'm able to reproduce this. The problem seem to be introduced by one of the performance enhancement. The performance enhancement restricts the beaninfo search to restricted ClassLoader to avoid extensive search. Looks like the Archive Library references (in this case <project>/dist/projectlib.jar) added to the project is not included in the restricted classLoader. I verified this by dumping the ClassLoader using debugger. The dump did contain these jars. Assigning to insync experts for further evaluation. I believe that not allowing to search classes for binding externally is a step in wrong direction. More graceful workaround would be using some sort of lazy bean browser. The binding dialog should display initially only top-level beans in collapsed state. Only when the user expands a node, actual introspection should take place (and only one level deep at a time). That fix would make the binding dialog instantaneous without having to restrict class loader. *** Issue 104977 has been marked as a duplicate of this issue. *** Winston's observation is correct. This issue is introduced because of #123532 We cannot obtain the list of archive references for a given project, therefore it is not possible to append the required libraries to the classpath. Therfore, we are thinking of a different strategy where-in, we will start with project's compile time classpath and remove the unnecessary libraries(for example: appserver libraries). There seems to be no good way to obtain the list of appserver libraries. We are talking to experts in projects area to resolve this issue quickly. *** Issue 129730 has been marked as a duplicate of this issue. *** classpath for project's design time classloader is computed as follows - check if classpath/packaged classpath is provided for the project(It is already available for maven project), if found use it, otherwise get the classpath/compile classpath and remove the app server jars for design time performance reasons. Verified in 6.1 NetBeans IDE Dev (Build 200804030815) Java: 1.6.0_04; Java HotSpot(TM) Client VM 10.0-b19 System: Windows XP version 5.1 |