Проект Eclipse - добавить связанные ресурсы программно

Пример .project содержит

<linkedResources>
    <link>
        <name>node_lib</name>
        <type>2</type>
        <location>E:/Nodejs/node-v0.10.22/node-v0.10.22/lib</location>
    </link>
</linkedResources>

Как добавить связанные ресурсы программно?

org.eclipse.core.resources.IProjectDescription не имеет связанных методов

IProjectDescription

Так что это Q упоминает getLinks() за IProject ( JavaDoc не имеет)
Eclipse Добавить маркер для связанных ресурсов

Относится к:
Программно удалить связанные файлы из проекта в Eclipse

ОБНОВЛЕНО: Решено с помощью обоих ответов, поскольку они принесли понимание терминологии Eclipse (что к чему)

Код

   IFolder link = project.getFolder("Link");
   IPath location = new Path("TEMP/folder");
   if (workspace.validateLinkLocation(location).isOK()) {
      link.createLink(location, IResource.NONE, null);
   } else {
      //invalid location, throw an exception or warn user
   }

2 ответа

Решение

Один из ваших связанных вопросов на самом деле относится к примеру кода с использованием createLink метод IFolder,

Вы используете createLink методы IFile а также IFolder создавать связанные ресурсы.

Для файла вы делаете два шага:

// Get IFile for file
IFile newFile = project.getFile(workspacePath);

// Create the link
newFile.createLink(actualPath, flags, monitor);

и почти то же самое для папки:

IFolder newFolder = project.getFolder(workspacePath);

newFolder.createLink(actualPath, flags, monitor);
Другие вопросы по тегам