2012-03-21 3 views
6

Есть два Java проектов, импортируемые в Eclipse, рабочее пространство:отсутствующих проект в Build Path Java - Проекты настройка

  • MainProject
  • SecondProject

MainProject требуются на пути сборки из SecondProject.

Перед тем, как мигрировали исходный код обоих проектов нашей Team Foundation Server, то MainProject сослались в свойствах SecondProject через вкладку "Java Build Path" -> "Projects". И все сработало хорошо. не

Теперь, после того, как оба проекта были импортированы из TFS на чистую рабочую область Eclipse, с помощью Team Explorer Everywhere плагин, проект MainProject больше не отображается на вкладке "Projects" и в диалоге "Add..." кнопку.

Самое смешное, что MainProject также не видно, например, в Project -> Clean... диалог, но он виден в диалоге project properties -> "Project References" ...

Где может быть проблема ???

Eclipse, версия 3.6.2 (Helios SR2), TFS 2010 SP1

P.S. Если я добавлю <classpathentry kind="src" path="/MainProject"/> к .classpath вручную, появится ошибка «Project« SecondProject »отсутствует требуемый Java-проект:« MainProject »».

ответ

8

Возможно, я ошибаюсь, но мне кажется, что Eclipse может не видеть ваши импортированные проекты TFS в качестве «Java» проектов (Eclipse также поддерживает «простые» проекты, среди прочего). Когда вы смотрите на * .java-файлы в иерархии пакетов ваших проектов, у них есть синие «J» в соответствующих значках или они «полые»?

Если верно первое, то затмение увидеть ваши проекты, как проекты Java, я буду тщательно смешивать, и вы можете игнорировать мой ответ;)

Если последнее верно, то проект не является настроен как «проект Java». Это может быть реальным препятствием для решения ... но одним из решений в этом случае может быть переименование ваших существующих проектов на что-то другое (например, MainProjectOld, SecondProjectOld), создание новых проектов «MainProject» и «SystemProject» в качестве новых «Java», проектов, затем скопируйте весь исходный код из старого в новые исходные папки. Я не очень разбираюсь в TeamFoundationServer, но я бы предположил, что в этот момент вы можете повторно подключить свои новые проекты с помощью TFS и подтвердить их как проекты Java.

EDIT

Нижняя линия, если последнее верно, то это звучит как файлы XML конфигурации проекта не превратить его в TFS, и Eclipse, запутался о том, как следует относиться к проектам (plain, Java или иначе) после первоначального импорта из TFS.Я тоже видел это в CVS и SVN, поэтому я предполагаю, что это довольно распространенная проблема в любой системе управления версиями, поддерживаемой Eclipse. TFS может быть включен в эту группу.

+2

Да, это было именно так! Жаль, что я не могу выдвинуть ответ несколько раз :) «J» присутствует для всех * .java-файлов, но «J» отсутствовал на значке проекта. Это был хороший намек! Кроме того, в TFS отсутствовал файл .project, что вызвало все эти проблемы.
В качестве исправления вы можете вручную изменить файл .classpath, добавив ' org.eclipse.jdt.core.javanature' и 'org.eclipse.jdt.core.javabuilder'. По крайней мере, это решило мою проблему. – Dime

+0

@Dime: подсказка, которая может помочь, если вы не хотите проверять свои файлы '.project' (хотя это я бы неофициально рекомендовал): в мастере импорта из TFS вы можете выбрать« Показать новый проект Мастер для папок, которые не являются проектами Eclipse ", чтобы настроить создание .project' при импорте. –

+0

Удивительный, рад, что все получилось! Я боролся с той же проблемой при использовании CVS, казалось бы, навсегда ... рад, что вы смогли быстро решить эту проблему :) – CodeBlind

-1

Я не знаком с Team Foundation Server, но я рекомендую использовать Maven, если вы хотите создавать проекты внутри и вне Eclipse.

+0

Ваш ответ не имеет отношения к вопросу. –

+0

? Конечно, есть. И это рекомендуемый способ, ИМХО. Не играйте с файлом .classpath напрямую. Используйте Maven для создания ваших проектов. Затем используйте плагин Maven на вашем сервере CI. – Puce

+0

Я думаю, что я действительно неправильно понял вопрос. Похоже, что реимпорт в Eclipse не строится на TFS. Хотя это может быть следующим вопросом. – Puce

0
First go to your project root and edit .project file . make sure there have entry for javabuilder as following . If not then 
<buildCommand> 
    <name> org.eclipse.jdt.core.javabuilder </name> 
    <arguments> 
    </arguments> 
</buildCommand> 
Full .Project file looks like. 

<?xml version="1.0" encoding="UTF-8"?> 
<projectDescription> 
    <name>Your Project </name> 
    <comment></comment> 
    <projects> 
    </projects> 
    <buildSpec> 
     <buildCommand> 
      <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
     <buildCommand> 
      <name>org.eclipse.jdt.core.javabuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
     <buildCommand> 
      <name>org.eclipse.wst.common.project.facet.core.builder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
     <buildCommand> 
      <name>org.eclipse.wst.validation.validationbuilder</name> 
      <arguments> 
      </arguments> 
     </buildCommand> 
    </buildSpec> 
    <natures> 
     <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> 
     <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> 
     <nature>org.eclipse.wst.common.project.facet.core.nature</nature> 
     <nature>org.eclipse.jdt.core.javanature</nature> 
     <nature>org.eclipse.wst.jsdt.core.jsNature</nature> 
    </natures> 
</projectDescription> 
1

Вы должны убедиться, что приложение имеет .project, .project не может быть доступен, когда вы проверить код из репозитория, вы должны создать .project из командной строки в папке, где ваш код с «МВН затмения: eclipse "и перезапустите eclipse.

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