Относительные пути для источника в Eclipse - PullRequest
4 голосов
/ 30 ноября 2011

Итак, Затмение и относительные пути ...

Чего я хочу добиться - это поделиться файлами проекта с несколькими пользователями, где точное местоположение источника может быть различным для каждого пользователя.

Т.е., src для проекта MyProject может иметь значение c:\version_control_foo\MyProject\src или c:\version_control_bar\MyProject\src или даже X:\foobar\MyProject\src, и один и тот же проект должен работать для всех.

Вот что я пробовал: Я установил переменную C_TMP в Eclipse, указывая на c:\version_control_foo, предполагая, что пользователь # 2 запустит Eclipse с другим параметром для переменной. Затем я создал связанную исходную папку, используя переменную.

Это создало эту запись в моем .project файле:

<linkedResources>
    <link>
        <name>C_TMP</name>
        <type>2</type>
        <locationURI>C_TMP</locationURI>
    </link>
</linkedResources>

<variableList>
    <variable>
        <name>C_TMP</name>
        <value>file:/C:/version_control_foo</value>
    </variable>
</variableList>

Изменение переменной ничего не изменило, что имеет смысл, поскольку кажется, что проект скопировал ее значение.

Исходя из этого вопроса Думаю, я смогу сделать это, располагая все папки src относительно местоположения рабочей области, но это не очень хорошее решение.

Я думаю, что maven сможет справиться с этим, генерируя проекты Eclipse (верно?), Но я бы хотел справиться с этим с помощью чистого Eclipse и без специальных магических сценариев.

Редактировать: Это работает так же, как я надеялся, если я использую его, чтобы добавить больше библиотек. Почему он не работает с моими исходными папками?

Edit2: Некоторые пояснения, основанные на комментариях. Весь проект с исходными папками и файлами доступен в системе контроля версий. Но фактический путь к этим файлам уникален для каждого пользователя. Извлечение из системы контроля версий не подразумевает какого-либо копирования в локальное местоположение, которое может быть определено одинаково для всех.

Связанная исходная папка означает, что я могу определить ее относительно переменной. Эта переменная затем может быть установлена ​​для каждого пользователя. Проблема в том, что значение переменной, похоже, копируется в файл .project и не соответствует значению, установленному в Eclipse.

1 Ответ

3 голосов
/ 01 декабря 2011

Хорошо, я думаю, что нашел то, что мне было нужно. В Eclipse я могу установить связанный ресурс, который я могу использовать при определении связанных исходных папок. Эта переменная может измениться, и исходные папки затем будут изменены соответствующим образом. Если я могу установить связанный ресурс при запуске каким-либо образом, то я все сделал.

С этот вопрос

Перейдите на Window > Preferences, затем на General > Workspace > Linked Resources и определите свою папку здесь. Затем вы можете использовать определенную переменную в проекте.

...