Как ссылаться на javadocs на зависимости в плагине Maven eclipse, когда javadoc не привязан к зависимости
Я использую Eclipse, Maven и Java в своей разработке. Я использую Maven для загрузки зависимостей (jar-файлы и javadoc, когда они доступны) и подключаемый модуль Maven eclipse для генерации файлов.project и.classpath для Eclipse. Когда загруженная зависимость не имеет прикрепленного Javadoc, я вручную добавляю ссылку на Javadoc в файл.classpath, чтобы я мог увидеть Javadoc для зависимости в Eclipse. Затем, когда я запускаю плагин Maven eclipse для регенерации файла.classpath, он, конечно, стирает это изменение.
Есть ли способ настроить подключаемый модуль затмения Maven для автоматического добавления атрибутов classpath для javadoc при запуске подключаемого модуля затмения Maven?
Меня интересуют только ответы, в которых javadoc и / или источники не указаны для зависимости в репозитории maven, что чаще всего случается для меня. Использование свойств downloadSources и / или downloadJavadocs не поможет решить эту проблему.
6 ответов
Вы можете просто избежать этой проблемы, установив javadoc jar в свой локальный репозиторий вручную, используя цель install-file, и передав опцию -Dclassifier=javadoc. Как только вы это сделаете,.classpath, который генерирует mvn, должен быть правильным.
Если вы используете удаленное репо в качестве прокси для центрального сервера, вы также можете развернуть Javadoc в этом репо, и тогда все остальные, кто использует этот прокси, теперь также автоматически получат Javadocs.
Из FAQ по плагину 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>
Я использую STS 2.8.1, который в основном представляет собой инструменты Eclipse + Spring; В существующем проекте maven я щелкнул правой кнопкой мыши по проекту -> maven -> Загрузить исходные коды и загрузить JavaDocs.
Как уже упоминалось в разделе Как загрузить исходники и артефакты javadoc с помощью плагина Maven Eclipse из другого хранилища?, вы можете сделать это:
В Eclipse зайдите в Windows-> Настройки-> Maven. Установите флажок "Загрузить артефакт Javadoc". Это хорошо сработало для меня.
Обычно Javadocs не используются в основном в качестве зависимости. Потому что они не требуются ни во время компиляции, ни во время выполнения. Это просто, чтобы помочь разработчику при разработке или отладке.
Предполагая использование java IDE Eclipse, мы можем использовать документы java, на которые есть ссылки. Ниже приведены подходы, которые мы можем связать с javadocs/sources соответствующими банками.
1. Если это не maven проект:
Скачайте javadocs jar или zip-файл, что угодно, и поместите его в какую-то директорию. Щелкните правой кнопкой мыши проект приложения в Eclipse IDE, нажмите "Свойства" и выберите "Путь сборки Java", затем выберите вкладку "Библиотеки" в разделе "Путь сборки Java". Теперь разверните банку, которую вы хотите связать с java docs / source. Выберите ссылку на местоположение Javadoc и нажмите кнопку "Изменить", появится новое окно, в котором нам нужно выбрать путь к банке javadocs. Нажмите OK, и мы связали javadoc/source с соответствующими jar-файлами.
2. Если это проект Maven
Если мы используем проект Maven, перейдите к jar-файлам под зависимостью Maven в проекте в представлении Project Explorer, как показано ниже. Теперь щелкните правой кнопкой мыши файл JAR, в который вы хотите добавить Javadoc/source, выберите "Maven", затем нажмите "Javadoc" или "Source", который вы хотите связать с проектом. Теперь IDE автоматически загрузит нужный javadoc/source и свяжет его с соответствующим jar-файлом в проекте.
Вы можете убедиться в этом, щелкнув правой кнопкой мыши по проекту в среде IDE, щелкнув "Путь сборки Java" и выбрав вкладку "Библиотеки" в разделе "Путь сборки Java", а затем разверните нужную банку. Здесь при нажатии кнопки "Редактировать" вы увидите связанный путь Javadoc/Source с соответствующей банкой, как показано ниже на изображении.
3. Если это проект Maven и мы устанавливаем поведение по умолчанию:
Eclipse автоматически загрузит javadoc/source вместе с основным необходимым jar в начале. По умолчанию в Maven указана загрузка Javadoc/sources для всех jar-файлов, связанных в проекте.
Нажмите Windows - настройки - выберите Maven и установите флажок Download Artifact Javadoc, как показано ниже
Теперь нажмите "Применить" и сохраните его, и теперь, когда вы создаете новый проект Maven, по умолчанию Javadocs загружаются и связываются со всеми зависимыми банками в проекте.
Вы можете проверить, щелкнув правой кнопкой мыши на проекте и Свойствах, и в разделе Путь сборки Java можно увидеть, что javadocs связаны со всеми банками, как показано ниже.
Если ваш проект - проект Maven, то всегда лучше использовать 2-й подход, потому что при использовании этого подхода IDE и Maven заботятся о загрузке правильной версии Javadoc/source и также связывают ее с относительным jar.
Третий подход немного дорогостоящий, потому что javadoc/sources будут загружены для всех зависимых jar-файлов, возможно, вас не интересуют javadocs/sources для всех зависимых jar-файлов.
Могут ли помочь источники зависимости? Вы можете указать плагину eclipse, чтобы он загружал их (и ссылался на них в.classpath) с помощью -DdownloadSources=true