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, Можно ли это сделать?

[EDIT] @ Ответ VonC полезен... Есть ли способ загрузить переменные пути из текстового файла (например, local.properties) вместо того, чтобы идти через Окно -> Настройки -> Общие -> Рабочая область -> Связанные ресурсы?

3 ответа

Решение

Я считаю, что это будет лучше достигаться через:

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

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

Затмение связанных ресурсов

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам