2012-03-21 3 views
6

:자바 빌드 경로에 프로젝트를 누락 - 프로젝트 초기 설정 및 Eclipse 작업 공간으로 가져 두 개의 자바 프로젝트가 있습니다

  • MainProject
  • MainProjectSecondProject

가의 빌드 경로에 필요가 SecondProject. 나는 우리 Team Foundation Server에 두 프로젝트의 소스 코드를 이주하기 전에

MainProject"Java Build Path" -> "Projects" 탭을 통해 SecondProject의 속성에서 참조했다. 모든 것이 잘 작동했습니다. 두 프로젝트가 Team Explorer Everywhere 플러그인을 통해 깨끗한 이클립스 작업 공간으로 TFS에서 수입 된 후에

는 지금의 MainProject 프로젝트는 "Projects" 탭과 "Add..." 버튼을 대화 상자에 더 이상 표시되지 않습니다.

재미있는 것은

경우 문제가 될 수 ... MainProjectProject -> Clean... 대화 상자에서 예를 들어,도 보이지 않지만 그것이 project properties -> "Project References" 대화 상자에서 볼 수 있다는 점이다 ???

Eclipse 버전 3.6.2 (헬리오스 SR2), TFS 2010 SP1

P.S. 직접 .classpath<classpathentry kind="src" path="/MainProject"/>을 추가하면 "프로젝트 'SecondProject'오류가 발생하여 필요한 Java 프로젝트가 누락되었습니다 : 'MainProject'"가 표시됩니다.

답변

8

나는 완전히 틀릴 수도 있지만 이클립스가 가져온 TFS 프로젝트를 "Java"프로젝트 (Eclipse는 "일반"프로젝트 등을 지원함)로 보지 않을 수도 있습니다. 프로젝트의 패키지 계층에서 * .java 파일을 볼 때 해당 아이콘에 단색 파란색 "J"가 있습니까? 아니면 "할로우"입니까?

전자가 사실이라면 이클립스는 자바 프로젝트로 프로젝트를보고있다, 나는 철저하게 혼동 될 것이고, 당신이 내 대답을 무시할 수)

후자가 사실이라면, 다음 프로젝트는 아니다 "Java 프로젝트"로 구성됩니다. 이것은 다루기가 정말 엉망이 될 수 있지만,이 경우 한 가지 해결책은 기존 프로젝트의 이름을 다른 것으로 바꾸거나 (예 : MainProjectOld, SecondProjectOld) 새 "MainProject"및 "SystemProject"프로젝트를 새로운 "Java" 그런 다음 모든 소스 코드를 이전 소스 폴더에서 새 소스 폴더로 복사하십시오. TeamFoundationServer에 대해 많이 알지는 못하지만,이 시점에서 새 프로젝트를 TFS로 다시 연결하고 Java Project로 다시 시작할 수 있다고 가정합니다.

편집

결론은 후자에 해당하는 경우, 다음 (그것은 TFS 안으로 들어가지는 못했습니다 프로젝트 구성 XML 파일 같은 소리, 그리고 이클립스는 프로젝트를 치료하는 방법에 대한 혼란 일반, Java 또는 기타)를 가져올 수 있습니다.이 문제는 CVS와 SVN에서도 발생하는 것으로 보았습니다. 따라서 이클립스가 지원하는 모든 버전 제어 시스템에서 상당히 일반적인 문제라고 생각합니다. TFS가 그 묶음에 포함될 수 있습니다.

+2

예, 이것이 사실이었습니다! 내가 여러 번 답변을 upvote 수없는 동정 :) 모든 * .java 파일에 "J"가 있지만 프로젝트 아이콘에 "J"가 누락되었습니다. 이것은 좋은 암시였다! 또한 .project 파일이 TFS에서 누락되어 그 모든 문제가 발생했습니다.
수정 사항으로 .classpath 파일을 수정하려면 ' org.eclipse.jdt.core.javanature'과'org.eclipse.jdt.core.javabuilder'를 추가하면됩니다. 적어도이게 내 문제를 해결했습니다. – Dime

+0

@Dime :'.project' 파일을 체크하지 않으려는 팁 (비공식적으로 추천합니다) : TFS에서 가져 오기 마법사에서 "새 프로젝트 표시"를 선택할 수 있습니다. 임포트시'.project' 생성을 사용자 정의하기 위해 Eclipse 프로젝트가 아닌 폴더 용 마법사. –

+0

신난다, 그것이 기뻤다! 나는 CVS를 겉으로보기에는 영원히 사용하면서 똑같은 문제로 고심했다. 당신이 빨리 그것을 해결할 수 있었기 때문에 다행이다. – CodeBlind

-1

저는 Team Foundation Server에 익숙하지 않지만 Eclipse 내부 및 외부에서 프로젝트를 빌드하려면 Maven을 사용하는 것이 좋습니다.

+0

귀하의 답변은 질문과 관련이 없습니다. –

+0

? 물론 그렇습니다. 그리고 그것은 권장되는 방법입니다. IMHO. .classpath 파일을 직접 조작하지 마십시오. Maven을 사용하여 프로젝트를 빌드하십시오. 그런 다음 CI 서버에서 Maven 플러그인을 사용하십시오. – Puce

+0

사실 나는 그 질문을 잘못 읽었다 고 생각합니다. TFS를 기반으로하지 않는 Eclipse에서 다시 가져 오는 것 같습니다. 그것은 다음 문제 일지 모르지만. – 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 당신은 당신의 코드가 'MVN 일식 함께 폴더에서 명령 줄에서의 .project 만들어야합니다, 사용할 수 없습니다, 응용 프로그램의 .project이 있는지 확인한다 : 일식 '명령과 일식 다시 시작합니다.