Получить исходные файлы jar, прикрепленные к Eclipse для зависимостей, управляемых Maven
Я использую Maven (и интеграцию Maven Eclipse) для управления зависимостями для моих проектов Java в Eclipse. Функция автоматической загрузки файлов JAR из репозиториев Maven-это экономия времени в реальном времени. К сожалению, он не включает документацию API и исходный код.
Как я могу настроить Maven, чтобы автоматически получать вложения источника и javadoc и правильно регистрировать их в Eclipse?
17 ответов
Я уверен, что плагин m2eclipse Maven для Eclipse-наоборот-может это сделать. Вы можете настроить его для автоматической загрузки как исходных файлов, так и javadoc.
Это достигается путем перехода в окно > настройки > Maven и проверки параметров" загрузить источники артефактов "и" загрузить артефакт JavaDoc".
mvn eclipse:eclipse -DdownloadSources=true
или
mvn eclipse:eclipse -DdownloadJavadocs=true
или вы можете добавить оба флага,как указывает Спенсер К.
кроме того,=true
часть не требуется, поэтому вы можете использовать
mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs
другие ответы на эту работу, но если вы хотите избежать необходимости запоминать аргументы командной строки, вы также можете просто добавить в downloadSources и downloadJavadocs config в раздел 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>
Я предпочитаю не помещать настройки загрузки source/Javadoc в проект pom.xml
файл, как я чувствую, это пользовательские настройки, а не свойства проекта. Вместо этого я помещаю их в профиль в my :
<?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>
если исходные банки находятся в локальном репозитории, и вы используете поддержку Eclipses maven, источники автоматически подключаются. Вы можете запустить mvn dependency:sources
чтобы загрузить все исходные банки для данного проекта. Не уверен, как сделать то же самое с документацией, хотя.
также аналогичный вопрос это отвечает на это и включает в себя пример настроек pom.
Если вы используете meclipse do
окно --> maven --> загрузить источники артефактов (выберите проверить)
(Если вы все еще получаете окно "прикрепить источник", нажмите кнопку "Прикрепить файл" и закройте окно "прикрепить источник". В следующий раз, когда вы попытаетесь увидеть источник, он откроет правильный источник)
Surajz
Я попробовал windows - >pref..- >Maven, но это не сработало. Поэтому я создал новый путь класса с командой mvn eclipse: eclipse-DdownloadSources=true и обновил рабочую область один раз. вот.. Источники были приложены.
запись исходного jar доступна в пути к классу. Следовательно, новая сборка решила проблему...
в моей версии Eclipse helios с m2Eclipse нет
window --> maven --> Download Artifact Sources (select check)
под окном-это только "новое окно", "новый редактор", "открытая перспектива" и т. д.
Если вы щелкните правой кнопкой мыши на своем проекте, затем выберите maven--> download sources
ничего не происходит. никакие источники не загружаются, никакие файлы pom не обновляются, ни одно окно не появляется с вопросом, какие источники.
делать mvn xxx вне eclipse опасно - некоторые команды не работают с m2ecilpse - я сделал что однажды и потерял весь проект, пришлось переустановить eclipse и начать с нуля.
Im все еще ищет способ получить ecilpse и maven, чтобы найти и использовать источник внешних банок, таких как servlet-api.
изменение pom для Maven-eclipse-plugin для включения source / javadoc просто применяется для новых зависимостей, добавляемых в pom. Если нам нужно подать заявку на существующие зависимости, мы должны запустить mvn dependency: sources. Я проверил это.
проверка источника загрузки / javadoc в предпочтении Eclipse-Maven иногда недостаточно. В случае, если maven не удалось загрузить их по какой-то причине (отключение сети?), Мэйвен создает некоторые *.lastUpdated файлы, а затем никогда не будет загружать снова. Моим эмпирическим решением было удалить каталог артефактов .m2 / repository и перезапустите рабочую область eclipse с проверенным источником загрузки/javadoc и обновите проекты при запуске. После того, как рабочая область будет перезапущен, может быть, некоторые проекты могут быть отмечены ошибкой, в то время как eclipse progress загружается, тогда любая ошибка будет очищена. Может быть, эта процедура не такая уж и "научная", но для меня не прошла.
Я добавил конфигурацию pom в плагин maven-eclipse для загрузки источника и javadocs, но я полагаю/надеюсь, что это произойдет для новых зависимостей, а не существующих.
для существующих зависимостей я просмотрел в проводнике пакетов до "зависимостей Maven" и щелкнул правой кнопкой мыши на commons-lang-2.5.jar, выбранные Maven / источники загрузки и... казалось, ничего не произошло (нет индикатора прогресса или указания на то, что он что-то делает). Он сделал, однако, скачать, как я могу перейти к источнику в commons-lang сейчас.
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!
для Indigo (и, вероятно, Helios) флажки, упомянутые выше, расположены здесь:
Окно - > Настройки - > Maven
у меня была аналогичная проблема, и лучшим решением для меня было включить источник в ту же банку, что и скомпилированный код (поэтому данный каталог в банке будет включать оба Foo.java
и Foo.class
). Eclipse автоматически связывает источник с скомпилированным кодом и автоматически предоставляет JavaDoc из источника. Очевидно, это поможет, только если вы контролируете артефакт.
после установки свойств на уровне проекта или на уровне свойств пользователя, Выполните проект Maven - > Update (принудительное обновление). Он загружает источники