缺省情况下,“从属项”页面将不会动态管理插件项目的构建路径。如果添加或者除去从属项列表中的插件,则您应负责更新构建路径,以便添加必需的条目。如果不更新构建路径,则 Java 编译器将不能解析对属于必需的插件的类型的引用。
PDE 可以利用两种方法来帮助您计算构建路径。可以显式地请求选择“从属项”页面上的弹出菜单中的计算构建路径。也可以使用“插件开发 -> Java 构建路径控制”首选项页面。如果选择“在插件清单编辑器中修改从属项时”按钮, 则每当更改从属项信息并保存编辑器时,您的构建路径就将自动更新。
在这两种情况下,PDE 都将从暂存区中重新创建构建路径。这意味着您将失去已经手工添加到构建路径中的所有条目。构建路径在暂存区中得到更新,因为 PDE 是以递归方式构建它的。以下是具体的原因:
如果插件在运行时引用了 Java 类, 则将首先从该 Java 类的库中搜索该类, 然后从它必需的插件的库中进行搜索,然后从它们(指的是它必需的插件)必需的插件的库中搜索,依此类推。为了在设计期间重新创建类似的查找环境,PDE 递归地更新构建路径。几个不同的插件可能从属同一个库。如果从从属项列表中删除这些插件的其中一个, 则一直顺着链来除去库是不太安全的,因为列表上余下的一些插件可能还需要它们。始终维护有效构建路径的唯一方法就是从暂存区中创建它。
为了更好地共享创始服务器上的项目, PDE 将所有外部库都添加到相对于由 Java 构建路径变量 ECLIPSE_HOME 表示的运行时平台位置的构建路径中。这样,就可以将您的代码放在服务器上, 并且它的运行与平台安装的位置无关。