Затмение не поверит, у меня есть Maven 2.2.1 - PullRequest
9 голосов
/ 26 ноября 2009

У меня есть проект (созданный из шаблона AppFuse), который требует Maven 2.2.1. Поэтому я обновился до этого (с 2.1.0) и установил свой путь и мои M2_HOME и MAVEN_HOME переменные env.

Затем я запустил mvn eclipse:eclipse и импортировал проект в Eclipse (Galileo).

Однако в списке проблем для проекта (и в верхней части редактора графического интерфейса pom.xml) написано:

Невозможно построить проект «/Export/people/clegg/data/Workspace/funcserve/pom.xml; требуется версия Maven 2.2.1

Это сохраняется, независимо от того, настроил ли я в Eclipse реализацию Embedded Maven или внешнюю установку 2.2.1, в диалоговом окне «Параметры» -> «Maven» -> «Установки».

Я пытался закрыть и снова открыть проект, переиндексировать репозиторий, очистить проект, перезапустить IDE, выйти из системы и снова войти, все, что я могу придумать! Но Затмение все еще не поверит, что у меня Maven 2.2.1.

Я только что обновил плагин, поэтому у меня установлена ​​последняя версия Maven Integration для Eclipse - 0.9.8.200905041414.

Кто-нибудь знает, как убедить Eclipse, у меня действительно есть правильная версия Maven? Как будто он записал предыдущую версию где-то еще и не будет обращать внимания на мои изменения: - (

Ответы [ 8 ]

8 голосов
/ 16 декабря 2009

Eclipse позволяет указать внешнюю установку Maven. Но тут есть подвох. :( Взгляните на Windows> Настройки> Maven> Установки.

Вы увидите следующее сообщение:

Note: Embedded runtime is always used for dependency resolution, but does
not use global settings when it is used to launch Maven.
To learn more, visit the maven web page.

Перевод на английский означает, что Eclipse будет продолжать использовать свой внутренний экземпляр Maven для выполнения некоторых задач. Когда вы запускаете «Запуск от имени> maven install», он запускает ваш скрипт pom.xml, используя указанный вами внешний экземпляр Maven, но когда Eclipse выполняет некоторые свои внутренние операции, он продолжит использовать встроенный экземпляр Maven, какой бы версией он ни был. 1006 *

(изм) Насколько я знаю, когда вы устанавливаете M2Eclipse, вы неявно определяете, какой «внутренний экземпляр Maven» у вас будет, а именно тот, который упакован плагином. В конфигурации плагина вы можете добавить внешние экземпляры Maven, сообщив, где они установлены.

3 голосов
/ 17 июня 2010

Если вы используете последнюю версию m2eclipse, вы можете попробовать это тоже:

<prerequisites>
    <maven>>=2.2.1</maven>
</prerequisites>

Обратите внимание на больше в > = 2.2.1 . У меня отлично работает.

0 голосов
/ 03 мая 2013

У меня такая же проблема. Решил ее, перезапустив систему, потому что каждый раз, когда вы меняете «Путь» в переменных среды, вы должны перезапускать систему, иначе, если не выберете изменения.

0 голосов
/ 16 декабря 2009

Используя m2eclipse, в таких ситуациях я могу использовать Maven> Обновить зависимости, а затем Maven> Обновить конфигурацию проекта. Во-первых, я просто суеверен, а во-вторых, перепишу .project и .classpath.

Как говорит Паскаль, m2eclipse также может указывать на внешний экземпляр. Я делал это в прошлом, но не в 2.2.1.

Dan

0 голосов
/ 16 декабря 2009

Попробуйте создать проект eclipse с помощью mvn project: m2eclipse или используйте опцию импорта maven в проекте импорта.

0 голосов
/ 11 декабря 2009

Вы пробовали переключать рабочие пространства?

Вы можете ссылаться на тот же проект в новой рабочей области. Это обеспечит примерно столько же сброса, сколько вы можете сделать с точки зрения внутренних настроек затмений.

0 голосов
/ 27 ноября 2009

M2Eclipse использует встроенный экземпляр maven, а не экземпляр maven, установленный в вашей системе.

0 голосов
/ 26 ноября 2009

Обычный источник проблем (такого рода) - это если вы меняете глобальные настройки и не помните или не знаете, что вы включили некоторые специфические для проекта настройки. По крайней мере, есть вероятность, что глобальная настройка теперь настроена на использование внешнего maven, но для настройки проекта все еще задано значение «внедрено».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...