Что делает проект обновления Maven в Eclipse?

Ответы:

91

Он синхронизирует настройки проекта Eclipse с настройками pom. Если вы, например, измените важные настройки плагина, такие как выходная версия java, вы обнаружите, что Eclipse попросит вас обновить проект, а затем настроенная среда выполнения Java в проекте изменится, чтобы отразить то, что указывает ваш Maven pom.

Это важно иметь в виду: Maven pom является лидером в подобной настройке проекта. Если вы хотите изменить настройки, попробуйте сделать это через pom, а не через настройки проекта Eclipse напрямую, иначе обновление проекта может вернуть то, что вы изменили. Тем не менее, обычно есть некоторые вещи, которые мне все равно приходится исправлять, например, исключения путей сборки, которые m2eclipse любит вставлять, и странные конфигурации сборки развертывания.

Гимби
источник
20
Я надеялся услышать, какие именно команды и плагины maven были выполнены.
Gray
1
Если я никогда не обновляю конфигурацию maven в Eclipse, нужно ли когда-нибудь запускать Maven Update?
амфибия
1
@amphibient нет, не совсем. Даже если Eclipse испортит и запутается в состоянии рабочей области (такое бывает), простая очистка проекта всегда решает эту проблему.
Gimby
1
@KiriSakow личный опыт и наблюдения. Это довольно просто; измените настройки проекта в Eclipse, обновите проект, посмотрите, как ваши изменения отменяются. Имейте в виду, что это устаревший ответ, он не обязательно соответствует современным версиям m2eclipse.
Gimby
1
Привет @Gimby. Где я могу найти полностью доступную информацию об обновлении Maven?
Витольд Качурба 01
20

Чтобы добавить к тому, что сказал @Gimby, проект обновления также предоставляет дополнительные параметры, такие как Force Update of Snapshots / Releasesкоторые чрезвычайно полезны, когда у вас есть зависимости, которые ищут последнюю версию. (например: [1.0) найдет 1.0. * - все, что самое последнее.)

Обновление проекта является синонимом Ivy's Resolve. Он обеспечит наличие всех зависимостей, на которые есть ссылки, а также очистит проект, чтобы убедиться, что они включены правильно.

Дэвисон
источник
1
Зависимости работают без обновления проекта; просто обновите pom и автоматически обновите зависимости в проекте Eclipse. Это тоже хорошо, иначе было бы довольно утомительно работать с Maven в Eclipse!
Gimby
Я согласен, проект обновления maven обновит eclipse в соответствии с конфигурацией pom.xml (например, версией java).
Санчи Джиротра
0

Я не смог раскопать документацию, но смог раскопать код. Чтобы дополнить ответ @Gimby - вы можете подробнее узнать, что делает функция здесь:

https://github.com/eclipse/m2e-core/blob/41f5ae34ad2543ef1439b7fd7e0a03b596af8685/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/ProjectConfigurationLanager.j

Ищите: функцию updateProjectConfiguration0.

Привет,

Витольд Качурба
источник