Портативное Затмение - PullRequest
       24

Портативное Затмение

10 голосов
/ 21 июля 2009

Я пытаюсь перенести все свое «рабочее пространство» на USB-ключ (включая исполняемый файл Eclipse), чтобы я мог перенести свою работу куда угодно и отработать ключ напрямую.

Моя иерархия каталогов похожа на эту:

/workspace/eclipse - Where my current eclipse binary is stored
/workspace/codebase - Where I keep the root of all my eclipse projects
/workspace/resources - Where I keep all project files (images, docs, libs, etc.)

Все отлично работает на одной системе. Но когда я переключаюсь на другую систему, USB-ключ монтируется на другой диск. Например, на моем ноутбуке я получаю 'E: \', на моем компьютере я получаю 'K: \', а на работе я получаю 'F: \' и т. Д. И т. Д.

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

Я помещаю каталог 'libs' в основу каждого проекта и заполняю его зависимыми файлами JAR. Почему вместо него не используются относительные имена, чтобы я мог указать что-то вроде "../../libs/log4j.jar"?

Кто-нибудь знает, как решить эту проблему? Кто-нибудь знает обходной путь для этого?


Обновление: 2010.11.09

Я недавно обнаружил Dropbox , который позволяет вам с максимальной легкостью синхронизировать ваши файлы в Интернете и между компьютерами. Он включает в себя 2 ГБ свободного места, и вы можете обновить его до гораздо большего, если хотите (за годовую плату).

Я установил его на два моих ноутбука, два моих компьютера, мой сервер Linux и мой телефон на Android, а затем я создал каталог «рабочее пространство» в папке «My Dropbox». Из каталога «Рабочая область» я установил Eclipse и создал / настроил все мои проекты как обычно. Я могу буквально работать с любого компьютера, и все всегда идеально синхронизировано. Это намного лучше, чем любая функциональность USB-ключа и его хлопоты!

Ответы [ 5 ]

7 голосов
/ 21 июля 2009

Вы пробовали использовать Eclipse Portable ?

Единственное, что нужно иметь в виду, это то, что при переключении рабочего пространства вы должны помнить, чтобы дать ему относительный путь (например, ../../Data/workspace).

5 голосов
/ 21 июля 2009

Вы можете использовать команду dos dos для получения согласованной буквы диска, создав новую букву виртуального диска (скажем, x :), которая сопоставляется с вашей папкой Eclipse на вашем USB-диске, а затем сделать все пути конфигурации ссылками на диск x :

Вы можете создать небольшой командный файл на USB-диске, чтобы щелкнуть по нему, чтобы создать диск x:

C:\>help subst
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.
1 голос
/ 29 января 2010

Вы также можете переназначить букву для вашего USB-накопителя в Windows Disk Management (подраздел в Управлении компьютером) на что-то вроде «U:». После того, как вы это сделаете, он будет переустанавливаться на одну и ту же флешку каждый раз, когда вы ее подключите. Не очень универсально, поскольку вашему пользователю нужны права для доступа к этому параметру в первый раз, но это может помочь в некоторых других сценариях.

0 голосов
/ 31 января 2012

Другой альтернативой является ручное редактирование файлов .classpath, чтобы они содержали относительные пути.

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

0 голосов
/ 09 июля 2011

Вы всегда можете использовать Ant для создания своих программ, с Ant вы можете иметь относительные пути ... Плюс вы также можете использовать Ivy для отслеживания зависимостей в Ant, я делаю это в каждом моем проекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...