2009-12-02 40 views
7

Tôi đang sử dụng Eclipse 3.5 cho một số dự án Java/JSP khác nhau. Tất cả các mã dự án của chúng tôi được lưu trữ trong Subversion. Tôi sử dụng plugin Subclipse để cập nhật/cam kết mã. Điều này làm việc tuyệt vời cho tất cả các dự án ngoại trừ một dự án. Có một dự án mà hầu như mỗi lần tôi thực hiện cập nhật SVN, toàn bộ dự án trở nên bị thủng với các lỗi biên dịch Java. Hầu hết các lỗi là các khiếu nại mà nó không thể tìm thấy các tệp lớp khác trong cùng một dự án. Để giải quyết vấn đề này, tôi phải đi đến Project> Clean và dọn dẹp thủ công dự án, việc này cần một chút thời gian để chạy. Tất cả mọi thứ biên dịch tốt sau này, nhưng nó là một chút đau đớn để phải tự làm sạch các dự án mỗi khi tôi làm một cập nhật SVN. Và điều này chỉ xảy ra cho một dự án duy nhất này.Tại sao tôi phải thường xuyên dọn dẹp một dự án cụ thể trong Eclipse?

Bất kỳ ai cũng trải nghiệm điều gì đó như thế này? Tôi thậm chí không chắc chắn nơi để xem xét để tìm ra lý do tại sao dự án cần phải liên tục được làm sạch bằng tay. Có thể ai đó đang kiểm tra một tệp phá vỡ dự án xây dựng của tôi trong Eclipse không? Nếu có, tôi nên tìm những tập tin nào?

+0

bạn có đang sử dụng máy mac, perchance không? – bmargulies

+0

không, tôi đang sử dụng Windows XP – Shane

+0

nó có thể do khá nhiều thứ - kiểm tra tất cả các thiết lập dự án của bạn (nhà xây dựng, khía cạnh, đường dẫn xây dựng, v.v.) và so sánh chúng với các dự án khác của bạn. – Bozho

Trả lời

4

Đầu tiên, xin lỗi nếu tôi nói điều gì đó hiển nhiên, nhưng bạn không đưa ra bất kỳ chi tiết nào về cấu hình dự án của bạn, cũng như không mô tả các nỗ lực trước đó của bạn để giải quyết vấn đề này. Vì vậy, có thể bạn đã thử tất cả mọi thứ tôi sẽ đề xuất ... ;-)

Ngoài ý muốn, tôi sẽ kiểm tra xem người khác có cam kết các lớp được biên soạn thay vì chỉ nguồn không.

Ngoài ra, nó phụ thuộc vào cấu hình của bạn: Tôi giả định rằng bạn đã chọn cờ "Tự động xây dựng", bạn chỉ xây dựng qua Eclipse (và không, ví dụ, thông qua Ant, cho phép có thể xây dựng Ant đặt đầu ra của nó ở đâu đó trong classpath của bạn), và rằng bạn không phải là phiên bản lọ cũng không phải tệp .classpath của bạn.

Tôi đề nghị (nếu bạn không làm như vậy) để thực hiện các cập nhật SVN của bạn thông qua chế độ xem Đồng bộ hóa (Đội -> Đồng bộ hóa với Kho lưu trữ), để xem nhanh các loại thay đổi bạn đã có , để phân biệt tốt hơn các trường hợp khi dự án của bạn bị rối tung lên từ các trường hợp khi nó không xảy ra.

+1

Nó bật ra rằng một kịch bản Ant đã sử dụng cùng một đường dẫn xây dựng như Eclipse. Tôi thường chạy kịch bản Ant đó vào cuối ngày, vì vậy tôi đã không nhận thấy rằng nó đã làm hỏng đường dẫn xây dựng Eclipse cho đến khi tôi nhận vào sáng hôm sau và cố gắng cập nhật. – Shane

+1

Rất vui khi bạn tìm thấy nó .. và tôi hoàn toàn thông cảm: trên thực tế, trong vài năm qua tôi đã luôn thay đổi đường dẫn xây dựng mặc định cho các dự án Java trong Eclipse từ "bin" thành "eclipse-build", giảm cơ hội của các tập lệnh bên ngoài với các đường dẫn được mã hóa cứng gây rối với bản dựng của tôi. Nó chỉ là một chuyến đi nhanh đến Window-> Preferences-> Java-> Build Path, và bây giờ tôi có thể ngủ (hơi) tốt hơn .. – TataBlack

1

Một số người đã giải thích rằng, có thể có người khác cũng cam kết các lớp đã biên dịch và các đường dẫn lớp đang nhận được xung đột. Nắm tay biết thông tin này từ các đại học của bạn và tiến hành. Tôi đã không gặp tình huống này. lấy làm tiếc.

1

Bạn lưu trữ dự án trên SVN như thế nào? Bạn đang lưu trữ toàn bộ dự án Eclipse hay chỉ là mã nguồn, cấu trúc, v.v ...? Nếu bạn không lưu trữ toàn bộ dự án, tôi khuyên bạn nên làm điều đó vì nó làm cho nó dễ dàng hơn để làm việc với (trừ khi bạn đã có ai đó sử dụng một IDE khác). Nếu không có thêm một số thông tin thì sẽ rất khó chẩn đoán, nhưng chắc chắn có vẻ như ai đó đang thực hiện các đường dẫn lớp đã biên dịch. Bạn nên kiểm tra lịch sử SVN để xác nhận.

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