Почему M2Eclipse жалуется на отсутствие артефакта, а командная строка mvn - нет? - PullRequest
6 голосов
/ 25 ноября 2010

Я только что установил совершенно новую установку Eclipse Helios и настроил M2Eclipse для использования внешней (v 2.2.1) установки Maven.

Система прекрасно компилируется в командной строке, но в M2Eclipse несколько моих модулей проекта имеют ошибку:

Missing artifact javax.jms:jms:jar:1.1:test

Я могу обойти ошибку, исключив артефакт jms из зависимостей Atomikos. Но мой главный вопрос: как они могут дать разные результаты!

Еще более странно, что у меня установлена ​​еще одна версия Eclipse Helios, и все работает нормально.

Ответы [ 4 ]

5 голосов
/ 25 ноября 2010

Средство разрешения зависимостей в m2eclipse не использует внешнюю установку Maven, оно должно использовать встроенную версию Maven. Итак, я бы порекомендовал получить последнюю версию m2eclipse, а также версию Maven 3.x, чтобы минимизировать разницу в разрешении зависимостей.

3 голосов
/ 25 ноября 2010

Кроме того, возможно, что в вашем файле maven 2.2.1 conf / settings.xml определены некоторые альтернативные репозитории. Если вы используете встроенный maven3, они будут игнорироваться.

Вы также можете указать установку maven 2.2.1 в качестве установки maven для m2eclipse.

1 голос
/ 23 сентября 2011

Та же проблема здесь: я использую maven 2.2.1 в качестве установки для использования из eclipse, так как она работает в командной строке.Maven 3 не работает для этого конкретного проекта, жалуясь на некоторые недостающие зависимости, которые, после долгих исследований, в моем случае оказались из старых репозиториев Maven 1 с устаревшим макетом.Maven 3 ненавидит их и разразится криком, когда найдет их.

Так что Maven 2 прекрасно работает в командной строке, а Maven 3 - нет.Проблема с eclipse заключается в том, что даже если вы указываете maven 2 в качестве установки для построения ваших проектов, для разрешения зависимостей он использует maven 3 (встроенная установка), поэтому, если вам не повезло требовать устаревший репозиторий, вы облажались (я имею в видузатмение не поможет).

1 голос
/ 07 апреля 2011

Я отправил похожий вопрос и наконец нашел ответ. См. m2eclipse говорит "Отсутствует артефакт", но я могу построить из cmdline!
Вы можете найти другое решение на http://getsatisfaction.com/sonatype/topics/_missing_artifact_from_m2eclipse_but_it_is_not_true

...