我正在使用Eclipse RCP for Developers来创建一个专门用于我们工作中的开发的Workbench版本。大部分已经完成,但我现在正在进行微调。
要初始化项目,用户必须创建一个“首选项”文件,其中包含各种设置。这些设置包括他们希望项目加载的代码/文件的“路径”。到目前为止,用户必须将所有相关代码/文件嵌套在包含首选项文件的目录中,如下所示:
./夹/ file.prefs ./folder/nestedFolder/ ./folder/nestedFolder2
(依此类推。)
但是,我希望用户能够为不在主目录中的文件夹/文件提供相对路径,如下所示:
../../ randomFolder /
我见过的唯一问题(这适用于集成代码/文件本身)是让它在包资源管理器工具中“显示”。为此,您必须创建一个链接资源(因为我已经为嵌套目录编写了代码)。
但是,当我尝试链接到非嵌套文件夹时,出现此错误:
ResourceException: Could not created linked resource {path}. Parent resource not accessible.
我的代码如下所示:
for (String path: FolderPaths) {
IFolder folder = project.getFolder(path)
if (!folder.exists()) {
folder.createLink(pathBase.append(path), IResource.FOLDER, nullProgressMonitor)
}
}
“pathBase”是指向主目录的完整路径的“IPath”。
请注意,即使FolderPath“path”相对于原始prefs文件:
../test/folder
使用“project.getFolder(path)”方法创建IFolder将其更改为:
/test/folder
据推测,这是因为“工作区”现在正在尝试在本地目录中创建项目文件夹,然后将该文件夹链接到我传入的路径;这在过去总是有效,但现在我得到了上面的错误。