Есть ли простой способ прикрепить исходный код в Eclipse?

130

Я большой поклонник того, как Visual Studio предоставит вам комментарии к документации / имена параметров при завершении написанного вами кода и ТАКЖЕ кода, на который вы ссылаетесь (различные библиотеки / сборки).

Есть ли простой способ получить встроенные имена javadoc / параметров в Eclipse при завершении кода или при наведении курсора на методы? Через плагин? Через какую-то настройку? Крайне раздражает использование большого количества библиотек (как это часто бывает в Java), а затем приходится переходить на веб-сайт или в локальное расположение javadoc для поиска информации, когда она находится прямо здесь в исходных банках!

Алекс Арго
источник
Есть ли другой метод использования плагина maven m2e?
cmcginty
1
См. Также: Как прикрепить javadoc или источники к jar-файлам в папке libs? как это сделать для Android, где решение ниже не работает.
blahdiblah

Ответы:

153

Короткий ответ - да.

Вы можете прикрепить источник, используя свойства проекта.

Перейдите в Свойства (для проекта) -> Путь сборки Java -> Библиотеки

Выберите библиотеку, к которой вы хотите прикрепить источник / javadoc, а затем разверните ее, вы увидите такой список:

Source Attachment: (none)
Javadoc location: (none)
Native library location: (none)
Access rules: (No restrictions)

Выберите расположение Javadoc, а затем нажмите кнопку «Изменить» справа. Оттуда все должно быть довольно просто.

Удачи :)

Генри Б.
источник
3
Вы, конечно, должны отметить, что вы также можете сделать то же самое с разделом «Вложение источника», если у вас есть реальный источник, который вы хотите прикрепить. Затем вы получаете Javadoc, и при желании можете напрямую посмотреть фактический источник.
ColinD
14
Я бы назвал это трудным и болезненным способом прикрепления источника. Вам нужно делать это каждый раз, когда вы включаете файл jar в каждый проект, в котором используется jar. Когда у вас много jar-файлов и много проектов, это нехорошо.
Джеймс Мур
3
@JamesMoore, есть ли способ лучше?
Феликс
12
Слишком много голосов за этот ответ! 5-летний улучшенный ответ - это упомянутый прикрепитель исходного кода java, который действительно подходит "легким способом".
sevenforce
1
Что делать, если у нас есть "немодифицируемая" библиотека?
Энрике де Соуза
108

Вплоть до вчерашнего дня я застрял, кропотливо скачивая исходные zip-архивы для тонны банок и прикрепляя их вручную для каждого проекта. Затем коллега направил меня к The Java Source Attacher . Он делает то, что должен делать eclipse - контекстное меню, вызываемое правой кнопкой мыши, с надписью «Присоединить исходный код Java».

введите описание изображения здесь

Он автоматически скачивает для вас исходный код и прикрепляет его. Я попал только в пару библиотек, о которых он не знает, и когда это происходит, это позволяет вам вернуть URL-адрес сообществу, чтобы ни у кого больше не было проблем с этой библиотекой.

tterrace
источник
Это работает, но есть ли простой способ перейти от проверяемого метода к банке, из которой он поступает в Project Explorer?
Ноумен
Обратите внимание, что .jarфайлы не сохраняются в папке вашего проекта, поэтому вы .classpathне сможете переносить их, если вы сотрудничаете с другими.
Stevoisiak
14

Простой способ сделать это:

  1. Загрузите соответствующие файлы / папку SRC.

  2. В редакторе eclipse нажмите Ctrl + щелчок или F3 на методе / классе, для которого вам нужен источник. Откроется новая вкладка с надписью «Прикрепленный источник не найден».

  3. Нажмите кнопку «прикрепить источники», нажмите кнопку «прикрепить исходную папку», перейдите к расположению загруженной папки SRC. Готово!

(ps: названия кнопок могут немного отличаться, но это почти все.)

Нью-Мексико
источник
5

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

В этот раз я понял, что последним элементом пути был «src». Простое удаление этого элемента пути (то есть на один уровень выше фактического пути, где расположена папка «org» или «com») волшебным образом заставляет его работать.

Каким-то образом Eclipse, кажется, подразумевает этот элемент пути "src", если он присутствует, и если вы затем включили его в исходный путь, Eclipse задыхается. Или что-то вроде того.

stolsvik
источник
У меня та же проблема: источник находится в каталоге с именем «source» (где находится «org» и т. Д.), Но я не могу заставить Eclipse использовать его, удерживая Ctrl + щелчок по имени метода. Вместо этого я получаю представление байтового кода. Я попытался изменить его имя на «src», используя «org» в качестве каталога, или тот, который указан выше «source», но ничего не изменилось ...
Matthieu
Я не верю, что Eclipse предполагает, что srcэто часть пути. Просто выберите папку, содержащую папку, названную по имени домена верхнего уровня пакета.
H2ONaCl
@broiyan: Забавно, что вы этому не поверите, когда я только что сказал, что это то, что я испытал эмпирически, физически ! :-)
stolsvik 06
5

да, есть простой способ ... перейдите на ... http://sourceforge.net/projects/jdk7src/ и загрузите zip-файл. Затем прикрепите это к затмению. Укажите путь, по которому вы загрузили zip-файл в eclipse. Затем мы можем просмотреть источник.

Амбика
источник
5

1) Удерживайте Control + щелкните левой кнопкой мыши по методу, который хотите просмотреть. Затем Eclipse перенесет вас на страницу «Источник не найден».

2) Нажмите «Прикрепить источник». введите описание изображения здесь

3) введите описание изображения здесь

4) Перейдите в C: \ Program Files \ Java \ jdk-9.0.1 \ lib \ src.zip

5) Нажмите OK. введите описание изображения здесь Теперь вы должны увидеть исходный код.

Ген
источник
4

Когда вы добавляете файл jar в путь к классам, вы можете прикрепить к нему исходный каталог или файл zip или jar. В свойствах Java Build Path на вкладке Libraries разверните запись для jar, и вы увидите, что там есть элемент для исходного вложения. Выберите этот элемент и нажмите кнопку «Изменить». Это позволяет вам выбрать папку, банку или zip-архив, содержащий источник.

Кроме того, если вы выберете класс или метод в банке и нажмете CTRL + CLICK (или нажмете F3), вы перейдете в представление байт-кода, в котором есть возможность прикрепить исходный код.

В результате вы получите все имена параметров, а также полную документацию по javadoc.

Если у вас нет источника, но есть javadoc, вы можете прикрепить javadoc с помощью первого метода. Он может даже ссылаться на внешний URL-адрес, если он у вас еще не загружен.

Matt
источник
3
  1. Щелкните код JAVA, который хотите просмотреть. (Щелкните Список, чтобы открыть List.java, если вы хотите проверить исходный код для java.util.List)
  2. Нажмите кнопку «Присоединить источник».
  3. Вам будет предложено «Выбрать место (папку, JAR или zip), содержащее исходный код для rt.jar».
  4. Выберите вариант «Внешнее расположение». Найдите файл src.zip.
  5. Путь для src.zip: * \ Java \ jdk1.8.0_45 \ src.zip
BSM
источник
2
  1. Поместите исходные файлы в zip-файл (как и для исходного кода java)
  2. Перейдите в Свойства проекта -> Библиотеки
  3. Выберите исходное вложение и нажмите "Изменить".
  4. В конфигурации исходных вложений нажмите «Переменная».
  5. В «Выбор переменных» нажмите «Создать».
  6. Введите значащее имя и выберите zip-файл, созданный на шаге 1.
Ранга
источник
1

Другой вариант - щелкнуть правой кнопкой мыши файл jar, который будет в (Ваш проект) -> Ссылки на библиотеки -> (ваша банка), и нажать на свойства. Затем щелкните «Вложение с исходным кодом Java». А затем в пути к местоположению укажите местоположение исходного файла jar.

Это просто еще один способ прикрепить исходный файл.

Нилеш Портной
источник
1

Если вы создаете свои библиотеки с помощью gradle, вы можете прикреплять источники к созданным вами банкам, и тогда eclipse будет автоматически их использовать. См. Ответ @MichaelOryl Как создать банку с исходными кодами с помощью gradle .

Скопировано здесь для справки:

jar {
    from sourceSets.main.allSource
}

Показанное решение предназначено для использования с плагином Java Gradle. Пробег может отличаться, если вы не используете этот плагин.

Джошуа Ричардсон
источник
0

Еще одна мысль о том, как сделать это проще при использовании автоматической сборки:

Когда вы создаете jar одного из своих проектов, также создайте jar исходных файлов:
project.jar
project-src.jar

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

Таким образом, вы можете в полной мере использовать средства навигации Eclipse, при этом используя что-то более автономное для создания своих проектов.

Akrikos
источник
0

Я собирался попросить альтернативу присоединению источников к одному и тому же JAR, используемому в нескольких проектах. Первоначально я думал, что единственной альтернативой является пересборка JAR с включенным исходным кодом, но, глядя на функцию «пользовательской библиотеки», вам не нужно создавать JAR с исходным кодом.

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

Вам нужно будет только прикрепить источник ОДИН РАЗ для каждого JAR-файла и вы сможете повторно использовать его для любого количества проектов.

nevets1219
источник
0

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

Стефан
источник
0

Просто нажмите на источник прикрепления и выберите путь к папке ... имя будет таким же, как имя папки (в моем случае). Помните, что вам нужно выбрать путь до базового местоположения папки проекта с суффиксом "\" в суффиксе ex D: \ MyProject \

Гаурав Дешмукх
источник
-2

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

Алекс Арго
источник
1
Но вместе с тем требуется кувалда для нормальной системы сборки Eclipse, сокрушающей все, что раньше работало.
Джеймс Мур,