Search code examples
javabuild-processeclipse-rcp

External build can't find import


I'm working on an Eclipse RCP project on Eclipse 3.6 that's broken up into 3 Java projects.

enter image description here

Starting from the bottom, gov.bop.rabid.xxx.ui is the RCP project. The other two Java projects are included into the rabid RCP project.

I've added these two Java projects as dependencies to my rabid project.

enter image description here

enter image description here

When I build the RCP product inside of Eclipse, everything builds and runs.

When I use the Eclipse product export wizard, I get the following error message in the logs.zip file:

# 1/13/12 9:02:45 AM EST
# Eclipse Compiler for Java(TM) 0.B61, 3.7.0, Copyright IBM Corp 2000, 2010. All rights reserved.
----------
1. ERROR in C:\BOPEclipse3.7RaBId\gov.bop.rabid.xxx.ui\src\gov\bop\rabid\xxx\ui\video\RabidVideo.java (at line 3)
    import gov.bop.eclipse.logging.EclipseLogging;
           ^^^^^^^^^^^^^^^
The import gov.bop.eclipse cannot be resolved

I know that it's some kind of dependency error, but I can't find where in my RCP project to put the dependency.

Edited to add:

Here's the first part of the Rabid product dependencies list:

enter image description here

The two other workspace plugins are included on the dependencies list.

Here's the first part of the Rabid product Eclipse run configuration plug-ins list:

enter image description here

To answer Tonny Madsen's questions (and I appreciate the interest):

  • gov.bop.eclipse logging is an Eclipse plug-in from an existing JAR Archive.
  • com.aware.photocomponent is an Eclipse plug-in from an existing JAR Archive.

Here's the package explorer again, with the directories open:

enter image description here

There are 0 errors and 0 warnings associated with this workspace.


Solution

  • I was finally able to build the Eclipse RCP package when I removed the gov.bop.eclipse.logging plug-in project, and added the gov.bop.eclipse.logging jar to the gov.bop.rabid.xxx.ui classpath.

    The logging plug-in jar is now a part of the ui plug-in jar. While this "works", if I want to update the logging plug-in jar, I have to update the ui plug-in jar. This is not an elegant solution, merely an effective solution.

    It appears that this is the only way you can include external Eclipse plug-ins in an Eclipse RCP package. I wish someone would prove me wrong.