我正在研究Eclipse 3.6上的Eclipse RCP项目,该项目分为3个Java项目。
从底部开始,gov.bop.rabid.xxx.ui
是RCP项目。另外两个Java项目包含在狂热的RCP项目中。
我已将这两个Java项目作为依赖项添加到我的狂犬病项目中。
当我在Eclipse中构建RCP产品时,所有内容都会构建并运行。
当我使用Eclipse产品导出向导时,我在logs.zip
文件中收到以下错误消息:
# 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
我知道这是某种依赖性错误,但我找不到我的RCP项目中的依赖项。
编辑添加:
这是Rabid产品依赖列表的第一部分:
其他两个工作区插件包含在依赖项列表中。
这是Rabid产品Eclipse运行配置插件列表的第一部分:
回答Tonny Madsen的问题(我很感兴趣):
这是包浏览器,打开目录:
此工作区有0个错误和0个警告。
答案 0 :(得分:0)
您收到编译器错误,这意味着OSGi解析器对您的依赖项设置感到满意,否则您在使用未解析的依赖项进行编译之前就会失败。
我怀疑这与在项目中使用.class文件二进制文件而不是源.java文件有关。尝试将gov.bop.eclipse.logging/build.properties
中的output..
属性设置为包含带有.class文件的包的文件夹的路径(相对于项目根目录)。
如果这些是插件项目,您可以通过右键单击gov.bop.rabid.xxx.ui / META-INF / MANIFEST.MF文件并选择PDE来仔细检查将在产品导出期间使用的类路径工具 - >创建Ant构建文件。这将生成一个build.xml文件,您可以检查“@dot”目标以查看正在使用的类路径。
这种问题的其他一些原因(我在这里的情况并非如此)是:
Bundle-ClassPath
条目不正确。如果未指定,则默认值为“。”,这意味着.class文件位于二进制包的根目录中。jars.compile.order
)。答案 1 :(得分:0)
当我删除gov.bop.eclipse.logging插件项目时,我终于能够构建Eclipse RCP包,并将gov.bop.eclipse.logging jar添加到gov.bop.rabid.xxx中。 ui classpath。
日志记录插件jar现在是ui插件jar的一部分。虽然这“工作”,如果我想更新日志插件jar,我必须更新ui插件jar。这不是一个优雅的解决方案,只是一种有效的解决方案。
看来这是您可以在Eclipse RCP包中包含外部Eclipse插件的唯一方法。我希望有人能证明我错了。