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

Я использую 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 не поможет этой проблеме.

Ответ 1

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

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

Ответ 2

Из плагина Maven Eclipse Часто задаваемые вопросы

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

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>

Ответ 3

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

Ответ 5

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

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

1. Если его немощный проект:

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

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

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

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

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

Вы можете проверить это, щелкнув правой кнопкой мыши по проекту в среде IDE и выбрав "Путь сборки Java" и выбрав вкладку "Библиотеки" в разделе "Путь сборки Java", а затем разверните нужную банку, здесь, когда вы нажмете кнопку "Изменить", вы увидите связанный путь Javadoc/Source с соответствующей банкой, как показано ниже на изображении.

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

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

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

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

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

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

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

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

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

Ответ 6

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