2010-07-15 33 views
8

Tôi nhận thấy rằng "đôi khi" tài nguyên tôi đưa vào thư mục nguồn trong dự án Eclipse của tôi sẽ không được sao chép vào thư mục đầu ra ("bin") ngay lập tức.
Ví dụ: tôi thay đổi một tập tin thuộc tính bằng cách sử dụng trình chỉnh sửa nhật thực và lưu ... và "bin" vẫn có phiên bản cũ.Khi nào Eclipse sao chép tài nguyên vào thư mục đầu ra?

Có ai biết chính xác những gì gây nên việc sao chép (và làm thế nào tôi có thể kích hoạt từ một plugin)? Tôi nghĩ điều đó đã xảy ra tự động khi tài nguyên thay đổi.

- EDIT -

Để làm rõ những gì tôi có nghĩa là bằng cách kích hoạt nó từ một plugin: Tôi có một plugin mà phụ thuộc vào lên đến tài nguyên ngày trong thư mục đầu ra, nhưng dường như các nguồn lực là lỗi thời khi Plugin của tôi được gọi là. Và đó là lý do tại sao tôi cần phải hiểu rõ hơn những gì xảy ra và làm thế nào tôi có thể ép buộc nó khi tôi cần.

Trả lời

2

Đây là một Bug ở hầu hết các phiên bản Eclipse, nó sẽ xảy ra mà không cần bất cứ lý do . Nhật thực 3.5.2 và 3.6.2 của tôi đều gặp vấn đề này vào một ngày nào đó. Trong trường hợp của tôi, tôi cần sao chép các tệp nguồn .clj clojure đã sửa đổi vào thư mục lớp để có hiệu ứng ngay lập tức trong một ứng dụng web, bây giờ tôi phải đặt/src trước/các lớp trong CLASSPATH của kịch bản khởi động ứng dụng web, Nó giải quyết vấn đề của tôi tạm thời.

+2

Vì không ai có thể giải thích, tôi sẽ gửi nó là "lỗi". Sẽ là tuyệt vời mặc dù nếu chúng ta có thể tìm thấy một báo cáo lỗi nhật thực chính thức. – Stroboskop

0

Theo như tôi biết điều đó xảy ra khi bạn xây dựng dự án. Bạn không cần một trình cắm thêm, bạn chỉ cần nói nhật thực để làm một bản dựng của dự án.

+1

bạn cần phải 'tự động xây dựng' được chọn trong trình đơn dự án để tự làm điều đó. Nếu bạn làm thế, và nó vẫn không làm điều đó, bạn có thể cần thêm thư mục chứa tệp vào đường dẫn xây dựng. Thực tế là bạn đã nói thư mục đầu ra chứa phiên bản 'cũ' gợi ý rằng nó trên đường dẫn xây dựng và đã được sao chép ở đó tại một số điểm. Nhưng nếu bạn chỉ cần thêm nó, và không có phiên bản 'cũ' bạn có thể cần phải làm mới dự án để xem nếu nó đã được di chuyển trong thư mục đầu ra cũng như –

+0

Đó không phải là nó. Thư mục đầu ra được cập nhật thường xuyên. ví dụ. khi tôi làm sạch hoặc khi không gian làm việc được khởi chạy. Các tập tin đã được ở cùng một vị trí, đã được chỉnh sửa bằng cách sử dụng nhật thực và các nguồn Java của tôi trong cùng một dự án được xây dựng và sao chép tự động. – Stroboskop

7

Nếu bạn không thêm tài nguyên thông qua nhật thực (nhưng ví dụ thông qua trình khám phá cửa sổ), nhật thực sẽ không thông báo một số thay đổi cho đến khi bạn làm mới dự án/thư mục của mình. (nhấn chuột phải trong trình thám hiểm packater chẳng hạn).

Sau khi thông báo sự thay đổi nó sẽ sao chép nó vào thư mục đầu ra khi bạn xây dựng (thường này được thực hiện tự động khi có thay đổi)

+0

đó là phần "thường" làm phiền tôi, vì nó không xảy ra trong giai đoạn xây dựng trong môi trường thử nghiệm của tôi – Stroboskop

+0

Nếu bạn đang xây dựng một trình cắm thêm Eclipse, bạn có thể làm mới từ trình cắm thêm. Hãy xem giao diện IProject. –

+0

@Stroboskop: Đối với các dự án Java, một thiết lập của nó trong menu xây dựng, được bật theo mặc định.Đối với các dự án khác, nó phụ thuộc vào loại dự án và plugin. – Thirler

0

Khi @Thirler cho biết, nếu bạn không thêm tài nguyên thông qua Eclipse, nó có thể không nhận thấy các tệp cho đến khi bạn làm mới dự án của mình. Tuy nhiên, nếu Refresh/Clean không hoạt động (trong trường hợp của tôi, nó không được), bạn phải thêm các tệp vào cấu trúc thư mục IN ECLIPSE.

Chỉ cần kéo tệp từ thư mục có trong hệ thống tệp bằng Finder/Windows Explorer, thả nó vào cùng thư mục trong Project Explorer của Eclipse (Eclipse sẽ yêu cầu ghi đè, chỉ cần nói có) và Thì đấy!

EDIT: Cách dễ dàng hơn là chỉ cần điều hướng vào thư mục bằng cách sử dụng Project Explorer và sau đó làm mới (F5).

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