Việc tránh tài nguyên trên hệ thống tập tin là không đồng bộ với hệ thống tập tin


267

Tôi phát triển mã Java với Eclipse và thường xuyên nhận được thông báo này:

tài nguyên không đồng bộ với hệ thống tập tin.

Nhấp chuột phải> Làm mới sẽ luôn xóa điều này.

Nhưng tại sao Eclipse không thể tự động làm mới khi nó tìm thấy điều kiện này? Có trường hợp nào bạn muốn tài nguyên không đồng bộ không?.

Nếu có những điều kiện như vậy và chúng không áp dụng cho công việc của tôi, có cách nào để Eclipse tự động làm mới khi nó gặp trạng thái này không?. (Tôi đánh giá cao rằng nó nên làm mới ít nhất có thể trong sự phát triển bình thường để tăng hiệu suất cho các nhà phát triển con người.)

CẬP NHẬT (2012-06-25): Bản cập nhật mới nhất của tôi (Phiên bản: Indigo Release Build id: 20110615-0604) không còn hiển thị Tùy chọn - Chung - Không gian làm việc - Làm mới Tự động Có tùy chọn "Làm mới khi truy cập" - tôi có nên sử dụng tùy chọn này không?


Tại sao bạn nhận được tin nhắn? Bạn có thể mất việc nếu không cẩn thận.
Thorbjørn Ravn Andersen

1
Tôi nhận được thông báo này luôn khi tôi tìm kiếm không gian làm việc, vì dự án Máy chủ (trong các công cụ web) chứa các tệp nhật ký tiếp tục cập nhật bên ngoài nhật thực. Cho đến bây giờ tôi vẫn chưa tìm thấy bất kỳ giải pháp nào ngoài Làm mới Tự động, nhưng điều đó mang lại cho bạn các vấn đề (cụ thể: khi một số bản dựng Ant chạy, Eclipse sẽ làm mới một nửa cách xây dựng Ant và làm mọi thứ rối tung lên).
Stijn de Witt

Có lẽ chỉ cần liếm đúng vào dự án sau đó chọn "refresh"?
Junchen Liu

Câu hỏi ngớ ngẩn: Tại sao "một bản sao thêm" của tài nguyên là bắt buộc? Có phải mọi người chắc chắn cần điều này với cơ hội đi kèm là "không đồng bộ".
nsandersen

Câu trả lời:


322

Bạn có thể kích hoạt tính năng này trong Window - Preferences - General - Workspace - Làm mới tự động (được gọi là Làm mới bằng cách sử dụng hook gốc hoặc bỏ phiếu trong các bản dựng mới hơn)

Tùy chọn Eclipse "Làm mới bằng cách sử dụng móc gốc hoặc bỏ phiếu" - Ảnh chụp màn hình

Lý do duy nhất tôi có thể nghĩ tại sao điều này không được bật theo mặc định là liên quan đến hiệu suất.

Ví dụ, tự động làm mới các thư mục nguồn có thể kích hoạt việc xây dựng không gian làm việc. Có lẽ một số người muốn kiểm soát nhiều hơn về điều này.

Ngoài ra còn có một bài viết trên trang web Eclipse về tự động làm mới.

Về cơ bản, không có trình kích hoạt bên ngoài nào thông báo cho Eclipse các tệp được thay đổi bên ngoài không gian làm việc. Thay vào đó, một luồng nền được Eclipse sử dụng để theo dõi các thay đổi tệp có thể dẫn đến các vấn đề về hiệu năng với các không gian làm việc lớn.


+1 Điều này chỉ xảy ra trong điều kiện này? Hay nó sẽ xảy ra đủ để ảnh hưởng đến tôi ở nơi khác?
peter.m bồ.rust

1
Tôi có Tùy chọn - Chung - Không gian làm việc - Tự động làm mới. Cái này có giống nhau không?
peter.m bồ.rust

1
Có cách nào để nó tự động chấp nhận các thay đổi từ hệ thống tệp cho các cửa sổ soạn thảo mở không có các thay đổi chưa được lưu không?
Leopd


14
Bây giờ nó dường như được gọi là "Làm mới bằng cách sử dụng móc gốc hoặc bỏ phiếu" (Indigo SR1).
Oliver Bock

37

Chỉ cần nhấp chuột phải vào tệp hoặc vào dự án và nhấp vào Làm mới. Lỗi sẽ biến mất. Tôi cũng phải đối mặt với vấn đề tương tự và nó đã làm việc cho tôi.


20
OP đã đề cập rằng trong câu hỏi của mình, "'Làm mới' sẽ luôn xóa điều này." Vấn đề là điều này cực kỳ khó chịu khi làm việc với các dự án phức tạp hoặc kết hợp với các công cụ bên ngoài Eclipse đang thay đổi hệ thống tệp.
ryanbrainard


12

Đối với phiên bản Indigo mới, Tùy chọn thay đổi thành "Làm mới quyền truy cập" và với lời giải thích chi tiết: Tự động làm mới các thay đổi không gian làm việc bên ngoài khi truy cập thông qua không gian làm việc.

Vì tài nguyên của Cameron không đồng bộ với hệ thống tập tin, nên vấn đề này xảy ra khi tôi sử dụng không gian làm việc bên ngoài, vì vậy sau khi tôi chọn tùy chọn này, vấn đề đã được giải quyết.


1
Điều này đã thoát khỏi tin nhắn. Cảm ơn
lsaffie

5

Điều này xảy ra với tôi tất cả các thời gian.

Đi đến nhật ký lỗi, tìm ngoại lệ và mở một vài cấp độ cho đến khi bạn có thể thấy một cái gì đó giống như nguyên nhân gốc rễ. Nó có nói "Tài nguyên không đồng bộ với hệ thống tệp" không?

Tất nhiên, khi đổi tên các gói, Eclipse phải di chuyển các tệp trong hệ thống tệp. Rõ ràng những gì xảy ra là sau đó nó phát hiện ra rằng một cái gì đó mà nó nghĩ rằng nó cần phải được làm sạch đã được đổi tên, không thể tìm thấy nó, ném một ngoại lệ.

Có một vài điều bạn có thể thử. Đầu tiên, đi đến Window: Preferences, Workspace và bật "Làm mới tự động". Về lý thuyết, điều này sẽ khắc phục vấn đề, nhưng đối với tôi, nó đã không xảy ra.

Thứ hai, nếu bạn đang thực hiện tái cấu trúc lớn với các gói con, hãy thực hiện từng gói con một lần, từ dưới lên và làm mới rõ ràng với hệ thống tệp sau khi mỗi gói con được đổi tên.

Thứ ba, chỉ cần bỏ qua lỗi: khi hộp thoại báo lỗi xuất hiện, nhấp vào Hủy bỏ để giữ nguyên thay đổi một phần, thay vì khôi phục lại. Hãy thử lại, và một lần nữa, và bạn có thể thấy bạn có thể vượt qua toàn bộ hoạt động bằng nhiều lần thử lại.


Một số hàng nhập khẩu của tôi đã bị hỏng sau đó, nhưng Nhập khẩu tổ chức nhanh cũng đã sửa.
z0r

Tôi cần phải làm điều này (bỏ qua lỗi và thử lại) khi chỉ cần chuyển một lớp sang một gói mới.
z0r

1

Nếu điều này xảy ra khi cố gắng xóa một thư mục (trên * nix) và Làm mới không có ích, hãy mở một thiết bị đầu cuối và tìm một liên kết tượng trưng bên dưới thư mục bạn đang cố xóa và xóa thủ công. Điều này đã giải quyết vấn đề của tôi.


1

Khi bạn mở một không gian làm việc Eclipse từ trong khung nhìn rõ ràng và cố gắng đổi tên dự án, bạn sẽ thường nhận được cảnh báo bật lên ... Tài nguyên 'dự án' không đồng bộ với hệ thống tệp. Nếu làm mới dự án không khắc phục được sự cố, thì hãy thực hiện cách giải quyết sau: a. Mở không gian làm việc MÀ KHÔNG ở trong chế độ xem b. Chọn dự án trong Project Explorer c. ClearCase -> Associate Project (dự án bây giờ trông giống như dự án []) d. Dự án nhấp chuột phải -> Làm mới (thư mục con vob sẽ trống) e. Dự án nhấp chuột phải -> Đổi tên ... f. Nhập tên mới

Bây giờ bạn có thể đóng không gian làm việc, mở lại nó trong một khung nhìn và làm mới dự án. Bạn cũng có thể phân tách dự án nếu bạn thích dự án không được liên kết với vob.


Clearcase đã đánh cắp con chó của tôi.
Đaminh Cerisano

1

Một chút gợi ý. Thông báo thường xuất hiện trong quá trình đổi tên hoạt động. Cách giải quyết nhanh đối với tôi là nhấn Ctrl-Y(làm lại phím tắt) sau khi xác nhận tin nhắn. Nó chỉ hoạt động nếu việc đổi tên ảnh hưởng đến một tập tin duy nhất.


Không gì Ctrl-Ylàm gì?
z0r

1
Ctrl-Y là "làm lại". Trong trường hợp cụ thể này, bạn đổi tên một cái gì đó sau đó nhật thực gặp phải một vấn đề và hoàn tác đổi tên hoạt động. Nhấn Ctrl-Y sẽ phục hồi nỗ lực đổi tên.
wathson

Ah tôi thấy. Không có trong Ubuntu; nó Ctrl-Shift-Z. Xem xét thêm lời giải thích lý do tại sao bạn nhấn Ctrl-Yvào câu trả lời của mình :)
z0r

1

Nếu bạn là người dùng Eclipse thường xuyên hơn bạn có thể đã gặp lỗi này nhiều lần. Lỗi chỉ đơn giản là, bạn đã thực hiện các thay đổi trong tệp trong không gian làm việc của mình từ bên ngoài nhật thực. Giải pháp đơn giản nhất là chọn dự án và nhấn F5 (Nhấp chuột phải -> Làm mới).

nếu bạn cần giải thích thêm, bạn có thể đọc từ trang web này


0

Tôi không thể giải quyết lỗi này bằng cách làm mới hoặc bằng cách bật tính năng không gian làm việc "bỏ phiếu gốc". Hóa ra dự án của tôi cũng được mở trong hai trường hợp nhật thực. Khi tôi đóng phiên bản khác, lỗi sẽ biến mất. Vì vậy, hãy chắc chắn rằng dự án của bạn chỉ được mở tại một nơi nếu bạn thấy lỗi này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.