Как ссылаться javadocs на зависимости в плагине eclipse Maven, когда javadoc не привязан к зависимости


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

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

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

6 51

6 ответов:

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

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

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

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

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

или в вашем пом.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>

Я запускаю STS 2.8.1, который в основном является Eclipse + spring tools; в существующем проекте maven я щелкнул правой кнопкой мыши по проекту - > maven - > загрузить источники и загрузить JavaDocs

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

в Eclipse перейдите в Windows - > настройки - > Maven. Установите флажок, который говорит "скачать артефакт документации."Это хорошо сработало для меня.

Maven Preferences

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

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

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

скачать javadocs банку или молнии файл, независимо от того, что доступно, и поместил его в какой-то каталог. Щелкните правой кнопкой мыши проект приложения в IDE Eclipse, выберите Свойства и выберите путь сборки Java, затем выберите библиотеки вкладок под путем сборки Java. Теперь разверните банку, которую вы хотите связать с Java docs / source. Выберите ссылку Javadoc location и нажмите кнопку Edit, появится новое окно, в котором нам нужно выбрать путь jar javadocs. Нажмите кнопку ОК, и мы связали javadoc / источник с соответствующим банки.

enter image description here

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

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

enter image description here

вы можете проверить это, щелкнув правой кнопкой мыши на проекте в IDE и нажмите на Java Build Path и выберите вкладку библиотеки под Java Build Path, а затем разверните нужный jar, здесь при нажатии на кнопку Edit вы увидите связанный путь Javadoc/Source с соответствующим jar, как показано ниже в таблице изображение.

enter image description here

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

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

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

enter image description here

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

enter image description here

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

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

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