“Kaynak dosya sistemiyle senkronize değil”


267

Eclipse ile Java kodu geliştiriyorum ve düzenli olarak şu mesajı alıyorum:

kaynak dosya sistemiyle senkronize değil.

Sağ tıklayın> Yenile her zaman bunu temizler.

Ama Eclipse neden bu durumu bulduğunda otomatik olarak yenilenemiyor? Kaynağın senkronize edilmesini istediğiniz durumlar var mı?

Böyle koşullar varsa ve bunlar benim işim için geçerli değilse, Eclipse'nin bu durumla karşılaştığında otomatik olarak yenilenmesini sağlamanın bir yolu var mı? (İnsan geliştiricilerin performansını artırmak için normal gelişimde gerektiği kadar yenilenmesi gerektiğini takdir ediyorum.)

GÜNCELLEME (2012-06-25): En son güncellemem (Sürüm: Indigo Sürüm Derleme kimliği: 20110615-0604) artık Tercihler - Genel - Çalışma Alanı - Otomatik Olarak Yenile seçeneği "Erişimde yenile" seçeneği var - bunu kullanmalı mıyım?


Mesajı neden alıyorsun? Dikkatli olmazsanız işinizi kaybedebilirsiniz.
Thorbjørn Ravn Andersen

1
Sunucular projesi (web araçlarında) tutulma dışında güncellenmeye devam eden günlük dosyaları içerdiğinden, çalışma alanı aradığımda bu iletiyi her zaman alıyorum. Şimdiye kadar Otomatik Olarak Yenile dışında herhangi bir çözüm bulamadım, ancak bu diğer rproblemleri veriyor (özellikle: bazı Ant yapıları çalıştığında, Eclipse Ant'in yarıya inmesini ve işleri karıştırmasını yarıya indirecek).
Stijn de Witt

belki sadece proje üzerinde yalamak sonra "yenile" seçin?
Junchen Liu

Aptalca bir soru: Bir kaynağın "fazladan bir kopyası" neden zorunludur? Herkesin buna "senkronizasyondan çıkma" şansı ile kesinlikle ihtiyacı var mı?
nsandersen

Yanıtlar:


322

Bunu Pencere - Tercihler - Genel - Çalışma Alanı - Otomatik Olarak Yenile ( yerel kancaları kullanarak yenile veya yeni yapılarda yoklama olarak adlandırılır )

Eclipse Tercihler "Yerel kanca veya yoklama kullanarak Yenile" - Screenshot

Bunun varsayılan olarak neden etkinleştirilmediğini düşünebilmemin tek nedeni performansla ilgili.

Örneğin, kaynak klasörleri otomatik olarak yenilemek, çalışma alanının bir yapısını tetikleyebilir. Belki bazı insanlar bunun üzerinde daha fazla kontrol isterler.

Eclipse sitesinde otomatik yenileme ile ilgili bir makale de var .

Temel olarak, çalışma alanının dışında değiştirilen dosyaların tutulmasını bildiren harici bir tetikleyici yoktur. Bunun yerine Eclipse tarafından büyük çalışma alanlarında performans sorunlarına yol açabilecek dosya değişikliklerini izlemek için bir arka plan iş parçacığı kullanılır.


+1 Bu sadece bu durum sırasında mı oluyor? Yoksa başka bir yerde beni etkileyecek kadar mı olacak?
peter.murray.rust

1
Tercihlerim - Genel - Çalışma Alanı - Otomatik Olarak Yenile. Bu aynı mı?
peter.murray.rust

1
Kaydedilmemiş değişiklikleri olmayan açık düzenleyici pencereler için dosya sistemindeki değişiklikleri otomatik olarak kabul etmenin herhangi bir yolu var mı?
Leopd


14
Şimdi buna "Yerel kanca veya yoklama kullanarak yenile" (Indigo SR1) deniyor.
Oliver Bock

37

Dosyaya veya projeye sağ tıklayın ve Yenile'ye tıklayın. Hata ortadan kalkacaktır. Aynı sorunla karşılaştım ve bu benim için çalıştı.


20
OP, sorusunda "Yenile" nin bunu daima temizleyeceğini belirtti. Sorun, karmaşık projelerle çalışırken veya dosya sistemini değiştiren Eclipse dışındaki araçlarla birlikte bu durumun can sıkıcı olmasıdır.
ryanbrainard


12

Yeni Indigo sürümü için, Tercihler "Erişimde yenile" olarak ve ayrıntılı bir açıklama ile değişir: Çalışma alanı üzerinden erişimde harici çalışma alanı değişikliklerini otomatik olarak yenile.

“Kaynak dosya sistemiyle senkronize değil” olarak harici çalışma alanı kullandığımda bu sorun oluşur, bu nedenle bu seçeneği seçtikten sonra sorun çözüldü.


1
Bu mesajdan kurtuldu. Thanks
lsaffie

5

Bu bana her zaman olur.

Hata günlüğüne gidin, istisnayı bulun ve kök nedeni gibi bir şey görene kadar birkaç seviye açın. "Kaynak dosya sistemiyle senkronize değil" mi?

Paketleri yeniden adlandırırken elbette Eclipse, dosyaları dosya sisteminde hareket ettirmek zorundadır. Görünüşe göre, daha sonra, temizlemesi gerektiğini düşündüğü bir şeyin yeniden adlandırıldığını, bulamadığını, bir istisna attığını keşfediyor.

Deneyebileceğiniz birkaç şey var. Önce Pencere: Tercihler, Çalışma Alanı'na gidin ve "Otomatik Olarak Yenile" yi etkinleştirin. Teoride bu sorunu çözmeli, ama benim için çözmedi.

İkincisi, alt paketlerle büyük bir yeniden düzenleme yapıyorsanız, alt paketleri aşağıdan yukarıya doğru teker teker yapın ve her alt paket yeniden adlandırıldıktan sonra dosya sistemiyle açıkça yenileyin.

Üçüncüsü, hatayı yok sayın: hata iletişim kutusu açıldığında, kısmi değişikliği geri almak yerine korumak için İptal'i tıklayın. Tekrar tekrar deneyin ve birden çok yeniden deneme kullanarak tüm işlemi gerçekleştirebileceğinizi görebilirsiniz.


Bundan sonra bazı ithalatlarım bozuldu, ancak hızlı bir Organize İthalat bunu düzeltti.
z0r

Sadece yeni bir pakete bir sınıf taşırken (hatayı görmezden ve yeniden deneyin) bunu yapmak gerekiyordu.
z0r

1

Bu, bir klasörü (* nix'te) silmeye çalışırken oluşursa ve Yenile yardımcı olmazsa, bir terminal açın ve silmeye çalıştığınız klasörün altında bir sembolik bağlantı arayın ve bunu manuel olarak kaldırın. Bu sorunlarımı çözdü.


1

Bir Eclipse çalışma alanını bir açık kasa görünümünden açıp projeyi yeniden adlandırmaya çalıştığınızda, genellikle açılır uyarı alırsınız ... “Kaynak 'projesi' dosya sistemiyle senkronize değil”. Projeyi yenilemek sorunu çözmezse, aşağıdaki geçici çözümü uygulayın: a. Görünümde OLMADAN açık çalışma alanı b. Project Explorer'da projeyi seçin c. ClearCase -> Ortak Proje (proje şimdi proje [] gibi görünmelidir) d. Projeye sağ tıklayın -> Yenile (vob alt klasörleri artık boş olmalıdır) e. Projeye sağ tıklayın -> Yeniden adlandır ... f. Yeni ad girin

Artık çalışma alanını kapatabilir, bir görünümde yeniden açabilir ve projeyi yenileyebilirsiniz. Eğer projenin vob ile ilişkilendirilmemesini tercih ederseniz, projeyi birbirinden ayırabilirsiniz.


Clearcase köpeğimi çaldı.
Dominic Cerisano

1

Biraz ipucu. Mesaj genellikle yeniden adlandırma işlemi sırasında görünür. Benim için hızlı çözüm, Ctrl-Yileti onaylandıktan sonra (kısayolu yeniden yap) tuşuna basmaktır . Yalnızca yeniden adlandırma tek bir dosyayı etkiliyorsa çalışır.


Ne yapar Ctrl-Y?
z0r

1
Ctrl-Y "yinelemedir". Bu özel durumda bir şeyi yeniden adlandırırsanız, tutulma bir sorunla karşılaşır ve yeniden adlandırma işlemini geri alır. Ctrl-Y tuşlarına basıldığında, yeniden adlandırma girişimi kurtarılır.
wathson

Ah, anlıyorum. Ubuntu'da değil; öyle Ctrl-Shift-Z. Ctrl-YCevabınıza neden bastığınızın açıklamasını eklemeyi düşünün :)
z0r

1

Normal bir Eclipse kullanıcısıysanız, bu hatayı birçok kez almış olabilirsiniz. Hata sadece “çalışma alanınızdaki dosyalarda dış tutulmadan değişiklikler yaptınız” diyor. En basit çözüm projeyi seçmek ve F5'e (Sağ tıklama -> Yenile) basmak olacaktır.

daha fazla açıklamaya ihtiyacınız varsa bu web sitesinden okuyabilirsiniz


0

Bu hatayı yenileyerek veya "yerel yoklama" çalışma alanı özelliğini açarak çözemedim. Projem de iki tutulma vakasında açıldı. Diğer örneği kapattıktan sonra hata ortadan kalktı. Bu nedenle, bu hatayı görüyorsanız projenizin yalnızca bir yerde açıldığından emin olun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.