Не очень хорошее название, я попытаюсь объяснить.
Это работало в течение нескольких месяцев, а сегодня по какой-то неизвестной причине eclipse не может разрешить импорт из братьев и сестер (равноправных проектов), когда ничего не изменилось (действительно!). Никаких обновлений eclipse или плагинов eclipse, никаких изменений исходного кода, никаких изменений конфигурации.
У меня довольно стандартная структура проекта:
parent_project -- clild_project_a ---- pom.xml -- clild_project_b ---- pom.xml -- child_project_c ---- pom.xml -- pom.xml (for parent).
Теперь оба проекта a и b зависят от кода из c.
проект pom.xml.
<parent>
<artifactId>parent_project</artifactId>
<groupId>com.mydomain.ge</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
...
<dependencies>
<dependency>
<groupId>com.mydomain.ge</groupId>
<artifactId>child_project_c</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
и в родительском pom.xml:
<modules>
<module>child_project_a</module>
<module>child_project_b</module>
<module>child_project_c</module>
</modules>
Итак, теперь в Eclipse все операторы импорта говорят, что проект A импортируется из проекта c:
package com.skillkash.ge.api;
import com.skillkash.ge.dao.AlreadyExistsException;
Это дает:
The import com.skillkash.ge.dao.AlreadyExistsException cannot be resolved.
Я попробовал следующее:
- выполнение очистки maven (используя правый щелчок -> запуск от имени -> maven clen для всех дочерних и родительских.
- выполнение зависимостей обновления maven для всех проектов
- выполнение пакета maven для каждого проекта.
- выполнение m2 maven-> «обновить конфигурации проекта» для всех проектов.
- перезапуск затмения.
- перезагрузка компьютера.
Примечание 1. В eclipse у меня есть 4 отдельных проекта, по одному для каждого ребенка и один для родителя. три дочерних проекта также зарегистрированы в SVN, но я не могу легко зарегистрировать родительский проект, так как под ним находятся папки дочерних проектов.
ПРИМЕЧАНИЕ 2, я много знаю о ant, но нуб в maven, но до сих пор не было проблем с этим. например Я понятия не имею, говорит ли maven eclipse использовать источник зависимого проекта, или он должен постоянно компилировать jar в локальный репозиторий m2, и зависимый проект использует это.
ПРИМЕЧАНИЕ 3 , все остальные (внешние) зависимости в порядке.
ПРИМЕЧАНИЕ 4. Я проверил, что установлен флажок "Разрешать зависимости от проектов рабочей области".
ПРИМЕЧАНИЕ 5, в диалоговом окне пути сборки Java Ecipse одноранговые проекты, от которых он зависит, похоже, не находятся на вкладках «источник», «проекты» или «библиотеки». В библиотеках есть поддерево "maven depedencies", но под ним находятся только внешние банки, такие как log4j.
Ive no idea if maven is telling eclipse to use the source of the depentant project, or if it has to compile jar constantly into the local m2 repository, and the dependant project uses that
Это то, что делает Разрешить зависимости от проектов рабочей области (при активации зависимости разрешаются с использованием источников из рабочей области). - person Pascal Thivent   schedule 13.08.2010