Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jdt-dev] Bug in F2??

Christian, the Eclipse newsgroup is the best place to ask these questions.
The mailing lists are for communication between the developers of Eclipse
itself.

However, while I'm writing I might as well answer your question.  You
should not add Plugin B to the classpath of Plugin A.  If base components
requre knowledge of the plugins that contribute to them, you've defeated
the purpose of the plugin architecture.  Here's the pattern for how it
should work:

Plugin A should define extension-points for the places where other plugins
are intended to add functionality.  Plugin A also defines interfaces for
interacting with these extensions.

Plugin B defines an extension, that hooks into the extension-point defined
by Plugin A.  Plugin B also defines classes that implement the interfaces
defined in Plugin A.

At runtime, Plugin A uses the Platform's plugin support to instantiate the
classes in Plugin B that hook into the extension-point.  Look at the
javadoc for IPluginRegistry, IConfigurationElement, IExecutableExtension,
and other related classes for more details.  Another interesting class to
look at for examples, is the RegistryReader class (and its subclasses)
defined in the org.eclipse.ui plugin.  This is the utility class used by
the UI for interacting with its extension points.

Since Plugin A only interacts with these extensions via the interfaces it
defined, it does not require Plugin B, or any other plugins that extend it,
to be on its classpath.

If you have any further questions on this, please direct them to the
eclipse newsgroup and someone will be happy to assist you.





                                                                                                                     
                      Christian Betz                                                                                 
                      <betz@xxxxxxxxxxxxxx-wu         To:      jdt-dev@xxxxxxxxxxx                                   
                      erzburg.de>                     cc:                                                            
                      Sent by:                        Subject: [jdt-dev] Bug in F2??                                 
                      jdt-dev-admin@eclipse.o                                                                        
                      rg                                                                                             
                                                                                                                     
                                                                                                                     
                      06/04/2002 04:38 AM                                                                            
                      Please respond to                                                                              
                      jdt-dev                                                                                        
                                                                                                                     
                                                                                                                     



Sorry - maybe this should better be put into bugzilla, but I am not sure
whether it is a bug or only a misfeature...


We do need projects refering to each other:

Project A is our core app and can be build standalone
Project B is a plugin to Project A and needs Project A to be build.

To run Project A with Project B as plugin, I need to add project B to
classpath. The only way I could find is to add it to build path: this
results in a cycle.

In earlier versions (I used build 20020410) this resulted in a warning in
the task-view, but worked well.

In F2, this leads to a stack overflow (see below) - forcing me to exit
eclipse.

So if this is not a bug it's definitely a misfeature. Could anybody tell me

how to work around the problem?

Thanks

Chris


--

Dipl.Inform. Christian Betz                       Chair for Computer
Science VI
                         Artificial Intelligence and Applied Computer
Science
                                                      University of
Wuerzburg
eMail: betz@xxxxxxxxxxxxxxxxxxxxxxxxxxx              phone: +49 931 888
6744
www:   http://ki.informatik.uni-wuerzburg.de/~betz/   fax: +49 931 888 6732




.log:


!SESSION Jun 04, 2002 10:13:24.906
---------------------------------------------
java.version=1.4.0-rc
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Command-line arguments: -os win32 -ws win32 -arch x86 -install
file:D:/programme/Dev/eclipse/
!ENTRY org.eclipse.jdt.launching 2 103 Jun 04, 2002 10:13:24.906
!MESSAGE VM not fully specified in launch configuration KnowME - missing VM

name. Reverting to default VM.
!ENTRY org.eclipse.jdt.launching 2 103 Jun 04, 2002 10:13:24.986
!MESSAGE VM not fully specified in launch configuration KnowME - missing VM

name. Reverting to default VM.
!ENTRY org.eclipse.jdt.launching 2 103 Jun 04, 2002 10:13:25.26
!MESSAGE VM not fully specified in launch configuration KnowME - missing VM

name. Reverting to default VM.
!ENTRY org.eclipse.jdt.launching 2 103 Jun 04, 2002 10:15:37.727
!MESSAGE VM not fully specified in launch configuration KnowME - missing VM

name. Reverting to default VM.
!ENTRY org.eclipse.ui 4 4 Jun 04, 2002 10:15:39.299
!MESSAGE Unhandled exception caught in event loop.
!ENTRY org.eclipse.ui 4 0 Jun 04, 2002 10:15:39.299
!MESSAGE java.lang.StackOverflowError
!STACK 0
java.lang.StackOverflowError
     at
org.eclipse.core.internal.dtree.DataTreeLookup.newLookup(DataTreeLookup.java:65)

     at
org.eclipse.core.internal.dtree.DeltaDataTree.lookup(DeltaDataTree.java:710)

     at
org.eclipse.core.internal.watson.ElementTree.includes(ElementTree.java:706)
     at
org.eclipse.core.internal.resources.Workspace.getResourceInfo(Workspace.java:964)

     at
org.eclipse.core.internal.resources.Container.findMember(Container.java:58)
     at
org.eclipse.core.internal.resources.Container.findMember(Container.java:51)
     at
org.eclipse.jdt.launching.JavaRuntime.expandProject(JavaRuntime.java:936)
     at
org.eclipse.jdt.launching.JavaRuntime.expandProject(JavaRuntime.java:969)
     at
org.eclipse.jdt.launching.JavaRuntime.expandProject(JavaRuntime.java:969)

_______________________________________________
jdt-dev mailing list
jdt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/jdt-dev






Back to the top