В Eclipse отсутствует уже импортированный требуемый проект - PullRequest
7 голосов
/ 29 июля 2011

У меня есть 3 Java-проекта в Eclipse (A, B, C), где C является обязательным проектом для A и B. Каждый раз, когда я запускаю Eclipse, я получаю сообщение об ошибке

 Project 'A' is missing required Java project: 'C'
 Project 'B' is missing required Java project: 'C'

КогдаЯ удаляю проект C из пути сборки A или B и добавляю его снова, ошибка исчезает.Ошибки ... cannot be resolved to a type появляются, только когда я удаляю проект C из пути сборки, и F3-обращение к исходным файлам в проекте C из проекта A или B работает, подразумевая, что он действительно находит правильные исходные файлы.

Мой файл .classpath выглядит так:

<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/JCIFS"/>
    <classpathentry combineaccessrules="false" kind="src" path="/C"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Моя версия Eclipse - Galileo, плагины: Subclipse, CDT (поэтому нет Maven).Автоматически проверяется сборка.

Кто-нибудь знает, как избежать повторного добавления проекта при каждом запуске Eclipse?

Ответы [ 6 ]

7 голосов
/ 29 июля 2011

Попробуйте это:

  • Щелкните правой кнопкой мыши на имени вашего проекта (A или B) и выберите свойства ...
  • Выберите Java Build Path и вкладку Projects, отметьте проект C как необходимый проект на каждом из A и B.
  • Выберите опцию «Ссылки на проект» и отметьте проект C как ссылку на проект для каждого из A и B.
  • Очистить и восстановить только для Craic!
  • Убедитесь, что проект C не закрыт при перезапуске Eclipse.
2 голосов
/ 10 марта 2012

Я тоже это видел, и несколько раз, хотя без четкой картины. Я считаю, что это ошибка в Eclipse.

Иногда закрытие и повторное открытие проекта А исправляет это. Иногда мне приходится удалять и переустанавливать Eclipse, чтобы исправить это.

0 голосов
/ 16 апреля 2014

У меня тоже было это, и я думаю, что это из-за фильтра ресурсов.Я пытался скрыть файлы .class из диалога открытых ресурсов .Чтобы устранить эту проблему, я удалил свой фильтр ресурсов и очистил проекты - теперь он, кажется, ведет себя хорошо.

0 голосов
/ 29 июля 2011

Эта ошибка обычно возникает, если проект закрыт.Но вы получите сообщение об ошибке, как только закроете C, то есть задолго до перезапуска Eclipse.

Трудно сказать, что может вызвать это.Mabye, это старая ошибка, но я ничего не помню конкретно в 3.5 / Galileo.

Попробуйте эти вещи:

  1. «Очистить ...» и выберите все проекты.Помогает ли это?
  2. Когда вы получили сообщение об ошибке, удалось ли Eclipse создать C?
  3. Это проект Java или C / C ++?Возможно, это ошибка в CDT.
  4. Попробуйте с Eclipse 3.7.Это довольно совместимо с 3.5, но многие ошибки были исправлены.Может, это тоже решит твою проблему.Экспортируйте свои префы, распакуйте 3.7 куда-нибудь (оставьте 3.5 в покое), импортируйте префы.Если вы хотите быть на 100% уверены, создайте второе рабочее пространство.
0 голосов
/ 29 июля 2011

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

0 голосов
/ 29 июля 2011

Это похоже на проблему имен путей Windows.Почему вы называете ваши проекты A, B, C и не даете им правильных имен isntead?

<classpathentry combineaccessrules="false" kind="src" path="/C"/>

Могу поспорить, что / C ошибочно интерпретируется как буква диска, отсюда и ваши проблемы.

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