2012-03-21 52 views
6

Có hai dự án java nhập khẩu vào workspace Eclipse:Dự án Thiếu trong Java Build Path - Các dự án cài đặt

  • MainProject
  • SecondProject

Các MainProject được yêu cầu về xây dựng đường dẫn của SecondProject.

Trước khi tôi đã di chuyển mã nguồn của cả hai dự án sang số Team Foundation Server, MainProject được tham chiếu trong thuộc tính của SecondProject qua tab "Java Build Path" -> "Projects". Và mọi thứ đều ổn.

Bây giờ, sau khi cả hai dự án đã được nhập khẩu từ TFS đến một không gian làm việc Eclipse sạch qua Team Explorer Everywhere plugin, dự án MainProject không còn nhìn thấy trên "Projects" tab và trong hộp thoại "Add..." nút.

Điều buồn cười là MainProject cũng không hiển thị, ví dụ, trong Project -> Clean... thoại nhưng nó có thể nhìn thấy trong hộp thoại project properties -> "Project References" ...

đâu có thể là vấn đề ???

Eclipse phiên bản 3.6.2 (Helios SR2), TFS 2010 SP1

T.B. Nếu tôi thêm <classpathentry kind="src" path="/MainProject"/> vào .classpath bằng tay, lỗi "Project 'SecondProject" bị thiếu dự án Java bắt buộc:' MainProject '"được hiển thị.

Trả lời

8

Tôi có thể hoàn toàn sai, nhưng có vẻ như tôi không thấy các dự án TFS được nhập khẩu của bạn là dự án "Java" (Eclipse cũng hỗ trợ các dự án "đơn giản"). Khi bạn xem các tệp * .java trong hệ thống phân cấp gói của các dự án của bạn, chúng có chữ "J" màu xanh trong biểu tượng tương ứng hay chúng "rỗng" không?

Nếu trước đây là sự thật, sau đó Eclipse IS nhìn thấy dự án của bạn như các dự án Java, tôi sẽ bị nhầm lẫn kỹ lưỡng, và bạn có thể bỏ qua câu trả lời của tôi;)

Nếu sau này là đúng, thì dự án không phải là được định cấu hình là "dự án Java". Đây có thể là một mớ hỗn độn thực sự ... nhưng một giải pháp trong trường hợp này có thể là đổi tên các dự án hiện có của bạn thành một dự án khác (ví dụ: MainProjectOld, SecondProjectOld), tạo các dự án "MainProject" và "SystemProject" mới như "Java" mới dự án, sau đó sao chép tất cả mã nguồn từ mã cũ sang thư mục nguồn mới. Tôi không biết nhiều về TeamFoundationServer, nhưng tôi sẽ giả định vào thời điểm này bạn có thể kết nối lại các dự án mới của bạn với TFS và đề xuất chúng như các dự án Java mà chúng đang có.

EDIT

Điểm mấu chốt là, nếu sau này là đúng, thì có vẻ như các tập tin XML cấu hình dự án đã không làm cho nó vào TFS, và Eclipse là nhầm lẫn về cách nó nên đối xử với các dự án (plain, Java, hoặc cách khác) sau khi nhập ban đầu từ TFS.Tôi đã thấy điều này xảy ra trong CVS và SVN, vì vậy tôi cho rằng đó là một vấn đề khá phổ biến trên bất kỳ hệ thống kiểm soát phiên bản nào mà Eclipse hỗ trợ. TFS có thể được bao gồm trong nhóm đó.

+2

Vâng, đây chính xác là trường hợp! Đáng tiếc là tôi không thể upvote câu trả lời nhiều lần :) "J" hiện diện cho tất cả các tệp * .java, nhưng "J" bị thiếu trên biểu tượng dự án. Đây là một gợi ý tốt! Ngoài ra tệp .project bị thiếu trong TFS và đã gây ra tất cả các vấn đề đó.
Khi sửa chữa, bạn có thể sửa đổi tệp .classpath theo cách thủ công bằng cách thêm ' org.eclipse.jdt.core.javanature' và 'org.eclipse.jdt.core.javabuilder'. Ít nhất điều này đã giải quyết được vấn đề của tôi. – Dime

+0

@Dime: Một mẹo mà (có thể) giúp nếu bạn không muốn kiểm tra tệp '.project' của mình (mặc dù đó là những gì tôi sẽ giới thiệu một cách không chính thức): trong quá trình nhập từ trình hướng dẫn TFS, bạn có thể chọn" Hiển thị dự án mới Trình hướng dẫn cho các thư mục không phải là các dự án Eclipse "để tùy chỉnh việc tạo' .project' khi nhập. –

+0

Tuyệt vời, vui vì nó đã hoạt động! Tôi đấu tranh với cùng một vấn đề trong khi sử dụng CVS dường như mãi mãi ... vui mừng bạn đã có thể làm cho nó được giải quyết nhanh chóng :) – CodeBlind

-1

Tôi không quen thuộc với Team Foundation Server, nhưng tôi khuyên bạn nên sử dụng Maven nếu bạn muốn xây dựng các dự án bên trong và bên ngoài Eclipse.

+0

Câu trả lời của bạn không liên quan đến câu hỏi. –

+0

? Tất nhiên là có. Và đó là cách được đề nghị, IMHO. Đừng fiddle về với các tập tin .classpath trực tiếp. Sử dụng Maven để xây dựng các dự án của bạn. Sau đó, sử dụng một plugin Maven trong máy chủ CI của bạn. – Puce

+0

Tôi nghĩ rằng thực sự tôi đã đọc sai câu hỏi. Có vẻ như về việc tái nhập khẩu trong Eclipse không xây dựng trên TFS. Mặc dù đó có thể là vấn đề tiếp theo. – 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

Bạn nên chắc chắn rằng các ứng dụng có .project, .project không thể có sẵn khi bạn kiểm tra mã từ kho lưu trữ, Bạn nên tạo .project từ dòng lệnh trong thư mục mà mã của bạn là với 'mvn eclipse: eclipse 'lệnh và khởi động lại bạn nhật thực.

Các vấn đề liên quan