Есть ли способ настроить связанные ресурсы относительно файла .project? - PullRequest
21 голосов
/ 22 октября 2010

У нас есть проект Flash Builder (основанный на Eclipse), который извлекает источник из разных мест, включенных в элемент управления исходным кодом, в котором находится проект. Согласно требованиям нашей организации, исходный код присутствует в каталогах, которые не находятся непосредственно в каталоге проекта. Первоначально у нас была проблема, что все пути к связанным ресурсам были абсолютными и не работали на других машинах с другими путями.

Прямо сейчас, решение, которое у нас есть для этого, состоит в том, чтобы установить переменную Linked Resource Path Variable, которая указывает на корень рабочей папки. Все остальные местоположения основаны на этом, поэтому мы можем включить источник из папок, таких как

${WORKING_BASE}/library1
${WORKING_BASE}/library2

Проблема с этим решением состоит в том, что каждый, кто тянет проект, должен правильно установить переменную WORKING_BASE, прежде чем открывать проект, чтобы он работал. У меня вопрос, есть ли способ сделать связанные ресурсы относительно расположения файла .project? Это было бы идеально.

Ответы [ 2 ]

39 голосов
/ 28 сентября 2011

Это возможно начиная с Eclipse 3.6 (Helios)

Откройте свойства проекта и перейдите в раздел Ресурсы> Связанные ресурсы> Переменные пути.

Там вы можете создать новую переменную относительно существующей.,Например:
Имя: MY_SOURCE_FOLDER
Расположение: $ {PROJECT_LOC} \ .. \ src

Это добавит новую переменную Path в ваш файл .project со значением, например:

$%7BPARENT-1-PROJECT_LOC%7D/src

означает ${PARENT-1-PROJECT_LOC}/src, где 1 означает родительский каталог, в 1 раз превышающий PROJECT_LOC.

26 голосов
/ 27 апреля 2012

С затмением 3.7, указав этот путь:

C:\projects\workspace\project1
C:\projects\workspace\project2

В рамках проекта1 вы можете сделать:

PROJECT_LOC => C:\projects\workspace\project1
PARENT-1-PROJECT_LOC => C:\projects\workspace
PARENT-2-PROJECT_LOC => C:\projects\
PARENT-1-PROJECT_LOC\project2 => C:\projects\workspace\project2
...