Eclipse: прикрепить источник / javadoc к библиотеке через локальное свойство

У меня есть сторонняя библиотека в моем репозитории SVN, и я хотел бы связать источник / javadoc с ней локально в Eclipse. То есть должна быть какая-то локальная настройка (например, запись в файле local.properties), которая связывает источник / javadoc с файлом JAR, но не вводит локальные зависимости в репозиторий через .classpath. В идеале я бы

lib_src_dir = /my/path/to/lib/src

в local.properties, а затем

<classpathentry kind="lib" path="lib.jar" sourcepath="${lib_src_dir}">

в .classpath. Можно ли это сделать?

[РЕДАКТИРОВАТЬ] Ответ @VonC полезен ... Есть ли способ загрузить переменные пути из текстового файла (например, local.properties) вместо перехода через Window -> Preferences -> General -> Workspace -> Linked Resources?


person Chris Conway    schedule 18.11.2008    source источник
comment
Просто добавлены уточнения в ответ на ваш комментарий   -  person VonC    schedule 19.11.2008
comment
Только что добавил ответ на свой второй вопрос   -  person VonC    schedule 19.11.2008
comment
Просто добавили ограничения для файловой системы .epf в ответ на ваш последний комментарий   -  person VonC    schedule 19.11.2008


Ответы (3)


Я считаю, что этого лучше достичь с помощью:

  • создание связанной папки в сочетании с
  • объявление связанного ресурса

Связанный ресурс определяет переменную пути, которая будет равна /my/path/to/lib/src

Связанные ресурсы Eclipse

Связанная папка будет ссылаться на ваш связанный ресурс

Связанные ресурсы

(вы можете использовать переменную, а не фиксированный путь, с помощью кнопки «Переменная»)

Переменная на самом деле всегда является локальной (для рабочего пространства) и будет изменена на Linked Resources экране предпочтений.

Связанная папка также может быть ... связанным файлом, что позволяет ссылаться на архив по относительному пути (относительно переменной).
Затем этот связанный файл (здесь связанный архив ) можно связать с вашим classpathentry в атрибуте "source".


Проблема со связанными ресурсами заключается в том, что они являются локальными для рабочей области в настройках.
Вы можете экспортировать настройки в файл [myPrefs.epf], а затем обрезать экспортированный файл, чтобы оставить только строки содержащий pathvariable:

/instance/org.eclipse.core.resources/pathvariable.MY_DIRECTORY=/my/path/to/lib/src

Затем любой может импортировать этот специальный файл настроек, который повлияет только на часть «Linked Resources».

Это решение не очень удовлетворительное, поскольку .epf файл настроек не может быть загружен в проект автоматически.
Когда я настраиваю проект со связанными ресурсами, определяющими путь, я всегда оставляю большой README.txt в корне моего проекта, чтобы побудить пользователя указанного проекта определить те же связанные ресурсы с его / ее собственным фиксированным локальным путем.

Выполняется несколько ошибок для улучшения этой ситуации или около тема" Связанные ресурсы ".

Особенно:


DevByStarlight упоминает в комментарии к проекту (не очень активен с октября 2011 г.) workspacemechanic.

Workspace Mechanic автоматизирует обслуживание вашей среды Eclipse, настраивая предпочтения, добавляя местоположения расширений и так далее. Вы можете использовать его для:

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

Ключом к поведению Workspace Mechanic является Task.
Задача описывает простой тест и действие, которое при запуске изменяет среду, чтобы тест впоследствии прошел.
Tasks может иметь разные формы: файлы настроек, классы Java, сценарии Groovy и расширения Eclipse. Вы можете легко определить свои собственные задачи.

Поставляется с набором скриптов:

person VonC    schedule 18.11.2008
comment
Это хорошо работает для исходных путей, но: (1) пути к документам должны быть абсолютными или до архива? (2) как изменить переменную локально? - person Chris Conway; 19.11.2008
comment
Спасибо за ответы. Но на самом деле .epf ничем не лучше, чем возиться с пользовательским интерфейсом настроек. Нет ли способа настроить проект так, чтобы он автоматически загружал переменные пути из предварительно определенного файла? - person Chris Conway; 19.11.2008
comment
нет, боюсь, вы указываете на предел этой системы: dev .eclipse.org / newslists / news.eclipse.newcomer / msg22823.html - person VonC; 19.11.2008
comment
Ознакомьтесь с Workspace Mechanic для автоматической загрузки файлов .epf ... code.google. ru / a / eclipselabs.org / p / workspacemechanic - person DevByStarlight; 03.04.2013
comment
@DevByStarlight интересно, хотя проект больше не поддерживается активно. Я добавил ссылку в ответ для большей наглядности. - person VonC; 03.04.2013

Я просто нашел простой ответ на это (в Индиго) после работы над ним в фоновом режиме и свободных минут в течение нескольких дней. Самый простой способ, который я нашел, - это развернуть ваш проект в Project Explorer, зайти в ваши библиотеки, на которые есть ссылки, щелкнуть правой кнопкой мыши соответствующий JAR, на который есть ссылка, и выбрать «Свойства». Там у вас есть возможность указать местоположение JavaDocs. Введите расположение папки, содержащей файлы index.html и packages-list, которые являются частью документации Javadocs. Кусок пирога!

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

person alphonzo79    schedule 15.12.2011
comment
Это очень помогло. Спасибо!! - person Katie; 29.03.2013

Вы можете сделать это с помощью переменных пути к классам.

Каждый разработчик создает пару новых переменных в Window -> Preferences -> Java -> Build Path -> Classpath Variables.

Определите переменную (скажем, JAVA_LIB_DIR), которая указывает на каталог, содержащий сторонний JAR (или JARS). Определите другую переменную, которая указывает на каталог, содержащий сторонний исходный код (JAVA_SRC_DIR). Вы можете настроить это как хотите, но у нас есть такая структура:

common/   
  lib/
    java/       <-- JAVA_LIB_DIR variable points to this directory
      axis/
      bitronix/
        1.0/bitronix.jar   "extension" is "bitronix/1.0/bitronix.jar"
      ...

В пути сборки вашего проекта используйте параметр «Добавить переменную ...», чтобы добавить библиотеку. Затем, когда вы «прикрепите источник», вам будет предложено указать переменную и расширение исходного кода.

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

person erickson    schedule 19.11.2008