Как ссылаться на javadocs на зависимости в плагине Maven eclipse, когда javadoc не привязан к зависимости - PullRequest
52 голосов
/ 04 сентября 2008

Я использую Eclipse, Maven и Java в своей разработке. Я использую Maven для загрузки зависимостей (jar-файлы и javadoc, когда они доступны) и подключаемый модуль Maven eclipse для генерации файлов .project и .classpath для Eclipse. Когда загруженная зависимость не имеет прикрепленного javadoc, я вручную добавляю ссылку на javadoc в файл .classpath, чтобы я мог увидеть javadoc для зависимости в Eclipse. Затем, когда я запускаю подключаемый модуль Maven eclipse для регенерации файла .classpath, он, конечно, стирает это изменение.

Есть ли способ настроить плагин Maven eclipse для автоматического добавления атрибутов classpath для javadoc при запуске плагина Maven eclipse?

Меня интересуют только ответы, в которых javadoc и / или источники не указаны для зависимости в репозитории maven, что чаще всего случается для меня. Использование свойств downloadSources и / или downloadJavadocs не поможет решить эту проблему.

Ответы [ 6 ]

42 голосов
/ 19 сентября 2008

Из плагина Maven Eclipse FAQ

В следующем примере показано, как это сделать это в командной строке:

mvn eclipse:eclipse -DdownloadSources=true  -DdownloadJavadocs=true 

или в вашем pom.xml:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-eclipse-plugin</artifactId>
        <configuration>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>
        </configuration>
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>
29 голосов
/ 07 февраля 2012

Я использую STS 2.8.1, который в основном представляет собой инструменты Eclipse + Spring; В существующем проекте maven я щелкнул правой кнопкой мыши проект -> maven -> Загрузить исходные коды и загрузить JavaDocs

25 голосов
/ 19 июня 2014

Как уже упоминалось в Как загрузить исходники и артефакты javadoc с помощью плагина Maven Eclipse из другого хранилища? , вы можете сделать это:

В Eclipse перейдите в Windows-> Настройки-> Maven. Установите флажок «Загрузить артефакт Javadoc». Это хорошо сработало для меня.

Maven Preferences

18 голосов
/ 27 сентября 2008

Вы можете просто избежать этой проблемы, установив javadoc jar в свой локальный репозиторий вручную, используя цель install-file и передав опцию -Dclassifier = javadoc. После того, как вы это сделаете, .classpath, который генерирует mvn, должен быть правильным.

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

4 голосов
/ 09 апреля 2017

Обычно Javadocs не используются в качестве зависимости. Потому что они не требуются ни во время компиляции, ни во время выполнения. Это просто чтобы помочь разработчику при разработке или отладке.

Предполагая использование java IDE Eclipse, мы можем использовать документы java, на которые есть ссылки. Ниже приведены подходы, которые мы можем связать с javadocs / sources соответствующими jar-файлами.

1. Если это не maven проект:

Загрузите javadocs jar или zip-файл, что угодно, и поместите его в какую-то директорию. Щелкните правой кнопкой мыши по проекту приложения в IDE Eclipse, нажмите «Свойства» и выберите «Путь сборки Java», затем выберите вкладку «Библиотеки» в разделе «Путь сборки Java». Теперь разверните банку, которую вы хотите связать с java docs / source. Выберите ссылку на местоположение Javadoc и нажмите кнопку «Изменить», появится новое окно, в котором нам нужно выбрать путь к банке javadocs. Нажмите OK, и мы связали javadoc / source с соответствующими jar-файлами.

enter image description here

2. Если это проект Maven

Если мы используем проект Maven, перейдите к файлам jar с зависимостью Maven в проекте в представлении Project Explorer, как показано ниже. Теперь щелкните правой кнопкой мыши файл JAR, в который вы хотите добавить Javadoc / source, выберите Maven, затем нажмите Javadoc или Source, который вы хотите связать с проектом. Теперь IDE автоматически загрузит требуемый javadoc / source и свяжет его с соответствующим jar-файлом в проекте.

enter image description here

Вы можете убедиться в этом, щелкнув правой кнопкой мыши по проекту в среде IDE, щелкнув «Путь сборки Java» и выбрав вкладку «Библиотеки» в разделе «Путь сборки Java», а затем разверните нужный банку. Здесь при нажатии кнопки «Редактировать» вы увидите связанный путь Javadoc / Source с соответствующим jar-файлом, как показано ниже на изображении.

enter image description here

3. Если это проект Maven и мы устанавливаем поведение по умолчанию:

Eclipse автоматически загрузит javadoc / source вместе с основным необходимым jar в начале. По умолчанию инструкция Maven для загрузки Javadoc / sources для всех jar-файлов, связанных в проекте.

Нажмите Windows - настройки - выберите Maven и установите флажок Загрузить артефакт Javadoc, как показано ниже

enter image description here

Теперь нажмите «Применить» и сохраните его, и теперь, когда вы создаете новый проект Maven, по умолчанию Javadocs загружаются и связываются со всеми зависимыми банками в проекте.
Вы можете проверить, щелкнув правой кнопкой мыши на проекте и Свойствах, и в разделе Путь сборки Java можно увидеть, что javadocs связаны со всеми банками, как показано ниже.

enter image description here

Если ваш проект - проект Maven, то всегда лучше использовать 2-й подход, потому что при использовании этого подхода IDE и Maven заботятся о загрузке правильной версии Javadoc / source и связывают ее с относительным jar как хорошо.

Подход 3-й стоит немного дороже, поскольку javadoc / sources будет загружен для всех зависимых jar-файлов, возможно, вас не интересуют javadocs / sources для всех зависимых jar-файлов.

0 голосов
/ 04 сентября 2008

Могут ли помочь источники зависимости? Вы можете указать плагину eclipse, чтобы он загружал их (и ссылался на них в .classpath) с помощью -DdownloadSources=true

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