Получите исходные файлы jar, прикрепленные к Eclipse для зависимых от Maven зависимостей
Я использую Maven (и Maven Eclipse Integration) для управления зависимостями для моих проектов Java в Eclipse. Функция автоматической загрузки файлов JAR из репозиториев Maven - это экономия в реальном времени. К сожалению, он не включает документацию API и исходный код.
Как настроить Maven для автоматического получения вложений источника и javadoc и правильно зарегистрировать их с помощью Eclipse?
Ответы
Ответ 1
Я уверен, что meclipse плагин Maven для Eclipse - наоборот - может это сделать. Вы можете настроить его для загрузки как исходных файлов, так и javadoc автоматически для вас.
Это достигается путем перехода в Window > Preferences > Maven и проверки параметров "Загрузить файлы артефактов" и "Загрузить артефакт JavaDoc".
Ответ 2
mvn eclipse:eclipse -DdownloadSources=true
или
mvn eclipse:eclipse -DdownloadJavadocs=true
или вы можете добавить оба флага, как указывает Spencer K.
Кроме того, часть =true
не требуется, поэтому вы можете использовать
mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs
Ответ 3
Другие ответы на эту работу, но если вы хотите избежать необходимости запоминать аргументы командной строки, вы также можете просто добавить в downloadSources и загрузить конфигурацию javadocs в раздел maven-eclipse-plugin вашего pom.xml:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
... other stuff ...
</configuration>
</plugin>
</plugins>
</build>
...
</project>
Ответ 4
Я предпочитаю не устанавливать исходные /Javadoc параметры загрузки в проект pom.xml
, поскольку я считаю, что это предпочтения пользователя, а не свойства проекта. Вместо этого я помещаю их в профиль в мой файл settings.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>sources-and-javadocs</id>
<properties>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>sources-and-javadocs</activeProfile>
</activeProfiles>
</settings>
Ответ 5
Если исходные банки находятся в локальном репозитории, и вы используете поддержку Eclipses maven, источники автоматически присоединяются. Вы можете запустить mvn dependency:sources
, чтобы загрузить все исходные банки для данного проекта. Не уверен, как сделать то же самое с документацией.
Ответ 6
Щелкните правой кнопкой мыши по проекту → maven → загрузить источники
Ответ 7
Существует также похожий вопрос, который отвечает на этот вопрос и включает примеры настроек pom.
Ответ 8
Если вы используете meclipse do
window → maven → Загрузить источники артефакта (выберите проверку)
(Если вы все еще получаете окно с исходным кодом, нажмите кнопку "Прикрепить файл" и закройте окно источника прикрепления. В следующий раз, когда вы попытаетесь увидеть источник, он откроет правильный источник)
Surajz
Ответ 9
Я попробовал windows- > pref..- > Maven Но это не сработало. Поэтому я создал новый путь класса с командой mvn eclipse: eclipse -DdownloadSources = true и обновил рабочее пространство один раз. вуаля.. Источники были прикреплены.
Запись исходного кода доступна в пути к классу. Поэтому новая сборка решила проблему...
Ответ 10
Изменение pom для maven-eclipse-plugin для включения source/javadoc просто применяется для добавления новых зависимостей в pom. Если нам нужно применить существующие зависимости, мы должны запустить mvn dependency: sources. Я проверил это.
Ответ 11
Проверка источника загрузки /javadoc в предпочтении Eclipse-Maven, иногда недостаточно. В случае, если maven не удалось загрузить их по какой-либо причине (сетевое затемнение?), Maven создает некоторые *.lastUpdated файлы, а затем никогда не будет загружаться снова. Моим эмпирическим решением было удалить каталог артефакта из .m2/repository и перезапустить рабочее пространство eclipse с проверенными и обновленными проектами загрузки /javadoc при запуске.
После перезапуска рабочего пространства, возможно, некоторые проекты могут быть помечены с ошибкой, а процесс затмения будет загружен, тогда любая ошибка будет удалена.
Возможно, эта процедура не так "научна", но для меня это удалось.
Ответ 12
в моей версии гелионов Eclipse с m2Eclipse нет
window --> maven --> Download Artifact Sources (select check)
В окне отображается только "новое окно", "новый редактор", "открытая перспектива" и т.д.
Если вы щелкните правой кнопкой мыши на своем проекте, выберите maven → download sources
Ничего не происходит. никакие источники не загружаются, никакие файлы pom не обновляются, окно не появляется, спрашивая, какие источники.
Выполнение mvn xxx вне eclipse опасно - некоторые команды не работают с m2ecilpse - я сделал это один раз и потерял весь проект, пришлось переустановить eclipse и начать с нуля.
Я все еще ищу способ получить ecilpse и maven для поиска и использования источника внешних банок, таких как servlet-api.
Ответ 13
Я добавил конфигурацию pom в плагин maven-eclipse для загрузки источника и javadocs, но я полагаю/надеюсь, что это произойдет для новых зависимостей, а не уже существующих.
Для существующих зависимостей, я просмотрел в проводнике пакетов до "Зависимости Maven" и щелкнул правой кнопкой мыши на commons-lang-2.5.jar, выбранном Maven | Загрузите Источники и... ничего не произошло (нет индикатора прогресса или указания на то, что он что-то делает). Однако он загрузился, так как теперь я могу перейти к исходному коду.
Ответ 14
overthink предложил использовать настройку в pom:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
... other stuff ...
</configuration>
</plugin>
</plgins>
</build>
...
Сначала я думал, что это все равно не будет прикреплять javadoc и источники (поскольку я безуспешно пытался использовать этот параметр -DdownloadSources).
Но с удивлением - файл .classpath получает свои источники и javadoc при использовании варианта POM!
Ответ 15
Для Indigo (и, вероятно, Helios) отмеченные выше флажки расположены здесь:
Окно → Настройки → Maven
Ответ 16
У меня была аналогичная проблема, и решение, которое наилучшим образом помогло мне, состояло в том, чтобы включить источник в ту же самую банку, что и скомпилированный код (поэтому данный каталог в банке будет содержать как Foo.java
, так и Foo.class
). Eclipse автоматически связывает источник с скомпилированным кодом и автоматически предоставляет JavaDoc из источника. Очевидно, что это полезно, если вы контролируете артефакт.
Ответ 17
После настройки свойств на уровне Project Level или User Properties,
Пожалуйста, сделайте проект Maven → Update (Force Update). Он загружает источники