Не очень хорошее название, я постараюсь объяснить.
Это работало месяцами, а сегодня по неизвестной причине затмение не может разрешить любой импорт из братьев и сестер (одноранговые проекты), когда ничего не изменилось (правда!). Никаких обновлений плагинов 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 (используя правую кнопку мыши -> запустить as-> maven clen для всех детей и родителей.
- Обновление зависимостей maven для всех проектов
- делает пакет maven для каждого проекта.
- делает m2 maven -> "обновлять конфигурации проекта" во всех проектах.
- перезапуск затмения.
- перезагрузка компьютера.
Примечание 1 , в затмении у меня есть 4 отдельных проекта, один для каждого ребенка и один для родителя. три дочерних проекта также проверены в SVN, но я не могу легко проверить родительский проект, так как под ним находятся дочерние проекты.
NOTE 2 , я много знаю об муравье, но я новичок в maven, но до сих пор с ним не было проблем. например Я не знаю, говорит ли Maven Eclipse, чтобы использовать исходный проект, или он должен постоянно компилировать jar в локальный репозиторий m2, и зависимый проект использует это.
ПРИМЕЧАНИЕ 3 , все остальные (внешние) зависимости в порядке.
ПРИМЕЧАНИЕ 4 , я проверил, что установлен флажок «Разрешить зависимости от проектов Workspace».
ПРИМЕЧАНИЕ 5 , в диалоге пути сборки Java ecipse, кажется, что одноранговые проекты, от которых он зависит, не находятся ни на вкладках «источник», «проекты» или «библиотеки». В библиотеках есть поддерево "maven зависимостей", но под ним находятся только внешние jar, такие как log4j.