2017-01-10 4 views
0

Поведение m2eclipse сводит меня с ума и, после нескольких десятков статей, я чувствую, что я что-то теряю. Я использую Eclipse Neon.2 (4.6.2) и m2e plugin 1.7.0.20160303-1933.Eclipse: не может работать как Maven Build с зависимостями рабочего пространства

У меня есть довольно простую структуру проекта (на самом деле это более сложный, но даже самый простой один не работает), который выглядит следующим образом:

- project A 
    - (dependes on) project B 

Оба проекта находятся в одном рабочем пространстве Eclipse. Оба проекта были импортированы как проекты Maven.

Eclipse может решать зависимости и показывать проекты как «ОК» в среде IDE (без ошибок), но если я попытаюсь выполнить проект As> Maven build (goal: compile) A, maven не сможет сказать, что он не может найти зависимость от проекта B.

Я не устанавливал проект B в свой локальный репозиторий, так как я понимаю, что m2e может найти их непосредственно в рабочей области и, таким образом, отразить любые изменения, которые я сделал в исходном коде автоматически. Правильно ли мое предположение? Или мне нужно установить все мои проекты, прежде чем я смогу запустить его через Eclipse? Это было бы очень неутешительно.

Я также попытался:

  • инвалидизирующему/включения Maven характера по проектам снова .. такой же результат;
  • mvn eclise: clean, обновить проект, обновление maven проект .. тот же результат;
  • проверено все groupId, artifactId, версия .. все в порядке;
  • удалены и добавлены зависимости через Maven> Add Dep .. тот же результат;
  • проверено в представлении POM, если проект отображается как значок проекта Eclipse .. да это;

BTW, если я пытаюсь построить (mvn компилировать) проект в командной строке, я получаю ту же ошибку (но я вижу ее как ожидалось, поскольку проект A еще не установлен и maven (в команде линия) не знает о моем рабочем пространстве Я ошибаюсь

EDIT:.? мое понимание приходит от этого Sonatype link, который гласит:.

Вы можете настроить проект для разрешения зависимостей от рабочей Это эффект изменения способа, которым Maven обнаруживает зависимость артефактов. Если проект сконфигурирован для разрешения зависимостей из рабочего пространства , эти артефакты не должны присутствовать в вашем локальном репозитории .

+0

Первый тест, который вы должны сделать, это попытаться запустить все проектное здание с помощью Maven в командной строке .... Если все в порядке, вернитесь в Eclipse ... – khmarbaise

+0

@khmarbaise, если это путь, что Утилита разрешения зависимостей рабочей области m2e? – jfneis

+0

Я не знаю, что вы имеете в виду, потому что вам нужно сначала проверить свою сборку в командной строке, если ваша сборка в порядке ... или нет ... и они импортируют ее в Eclipse ... BTW: Не используйте 'eclise : clean' и т. д. причина M2E справится с этим лучше ... – khmarbaise

ответ

0

Я удалил все проекты из Eclipse, добавил снова, и все внезапно начало работать. Действительно расстраивает.

Я не знаю, стоит ли держать этот вопрос в SO, если какой-то модератор считает, что лучше удалить этот вопрос, я бы вообще не увидел проблемы.

Смежные вопросы