Как использовать относительные пути для проектов, добавленных в рабочую область Eclipse?

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

Это вызывает проблемы, когда я использую ключ на нескольких компьютерах, потому что буква диска, назначенная USB-ключу, не всегда одинакова (и я не хочу назначать определенный письмо к нему на всех компьютерах). Eclipse не может открыть мои проекты, если буква диска отличается от буквы USB-ключа во время добавления проекта в рабочую область.

есть ли решение этой проблемы ? В частности, есть ли способ заставить Eclipse добавлять проекты в рабочую область, используя их относительный путь из папки рабочей области ?

5 ответов


короткий ответ заключается в том, что вы не можете сделать это без взлома метаданных рабочей области (под [workspace.dir]/.metadata). Рабочие области Eclipse не предназначены для переносимости, и даже если вы физически не перемещаете рабочее пространство, вы фактически перемещаете его, изменяя буквы дисков.

Я бы рекомендовал попытаться найти способ, чтобы ваши проекты под workspace.dir. Не гарантируется, что у вас не будет проблем таким образом, но может улучшить ваши шансы. В зависимости от того, какие функции Eclipse вы используете, вы можете получить другие типы абсолютных путей в метаданных рабочей области.


это действительно не так сложно. Вам просто нужно назначить новую переменную, которая указывает на WORKSPACE/..;. Например, вы можете использовать Forge Minecraft modder pack-у него есть рабочее пространство, которое сразу готово, независимо от того, какая машина загружает его, где вы его размещаете или даже если вы его перемещаете.

скачать: http://files.minecraftforge.net/minecraftforge/minecraftforge-src-1.6.2-9.10.0.789.zip

а затем распакуйте его и запустите установить.летучая мышь/КМД. Затем проверьте содержимое forge/mcp/eclipse/Minecraft/{.проект.,рабочую область} чтобы увидеть некоторые примеры.

У меня есть мое рабочее пространство, работающее на github, как это.


по моему опыту, он сломается в какое-то время, если вы попытаетесь "взломать" метаданные eclipse.

рассмотрим substкоманда в windows (как вы упомянули букву диска, я предполагаю, windows)

создайте файл bat, содержащий

subst N: .

запуск этого установит текущий dir как N: таким образом, вы можете поместить это на usb-накопитель и запустить его до запуска eclipse, тогда вы всегда найдете тот же контент на диске N:

снять крепление do

subst /D N:

вы можете рассмотреть возможность создания файла bat, который монтирует N:, запускает eclipse и после выхода eclipse размонтирует N: что-то вроде

startMyProject.летучая мышь:

subst N: .
N:/eclipse <yadayada options>
subst /D N:

этот вопрос довольно старый, но есть совершенно другой подход: вы можете создать соединение из папки, где Eclipse ожидает проект, например E:\foo\workspace\myproject и свяжите его с тем, где находится проект, например E:\bar\myproject.

соединение по существу означает, что вы можете получить доступ к одной и той же папке через 2 разных пути, поэтому вам не нужно беспокоиться о странных ограничениях относительного пути Eclipse. Создать его легко и быстро, я рекомендую вам ссылка Расширение Оболочки


Я сам не пробовал, но это может сработать. Попробуйте:
Добавьте исходную папку в качестве связанного ресурса и удалите предыдущее определение: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-45.htm

закройте eclipse и найдите папку проекта в рабочей области (например:C:\Documents and Settings\username\workspace\yourproject\) заменить абсолютные пути в файлах .project & .classpath с относительными путями.