Как использовать относительные пути для проектов, добавленных в рабочую область 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
с относительными путями.