Портативное Eclipse

Я пытаюсь перенести все свое "рабочее пространство" на 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, а затем создал папку "workspace" в папке "My Dropbox". Из каталога "workspace" я затем установил Eclipse и создал/сконфигурировал все мои проекты, как обычно. Я могу буквально работать с любого компьютера, и все всегда прекрасно синхронизируется. Это лучше, чем любая функциональность USB-ключа и его хлопоты!

Ответ 1

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

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

Ответ 2

Вы можете использовать команду dos subst для получения согласованной буквы диска, создав новую букву виртуального диска (скажем, 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.

Ответ 3

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

Ответ 4

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

Ответ 5

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

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