2011-12-22 11 views
5

Daha büyük bir yazılımın yeni bir modülü için bir başlangıç ​​noktası olarak birkaç klasörde (paketler) birkaç Java dosyası oluşturmak için Eclipse için küçük bir eklenti geliştirmeye çalışıyorum.Eklenti projesi aracılığıyla bir Eclipse projesinde paketler (klasörler) oluşturma

Böyle bir IFile nesneyi kullanmayı denedik: Dosyanın giden yolda tüm klasörler sürece çalışır

final IFile file = container.getFile(new Path(myFileName)); 
... 
file.create(stream, true, monitor); 

bulunmaktadır. Ancak eksik klasörler (yeni paketler) oluşturmaz, ancak "kaynak mevcut değil" istisnası atar.

Bunu, IResource veya IWorkspace nesneleriyle yapmanın bir yolunu bulamadım.

cevap

9

Şahsen, yinelemeli tüm klasörler gibi bir şey oluşturur küçük yöntemi kullanın.

+0

Sadece IFolder Arayüzüne rastlamadım - bu yüzden çok teşekkürler! – capoocan

+2

Ayrıca, ana kapsayıcının türünü şu şekilde kontrol etmem gerekiyordu: 'if (folder.getParent() instanceof instagramı IFolder) ...'. Aksi takdirde, "getParent" öğesine yapılan son çağrı bir "IProject" döndürür ve ardından gelen cast "ClassCastException" a neden olur. – chrisklaussner

0

Bu sorunun cevabını bilmediğini biliyorum, ancak Maven Archetypes'a bir göz atmanızı önerebilir miyim? Bu şekilde, yapılandırılabilir ve Eclipse'ye bağımlı olmayan bir şekilde, istenen dizin yapısı ve boilerplate dosyalarıyla proje şablonları oluşturabilirsiniz.

IFile file = project.getFile(newPath); 

prepare((IFolder) file.getParent()); 

ve Bu benim için iyi çalışıyor yöntemi

public void prepare(IFolder folder) { 
    if (!folder.exists()) { 
     prepare((IFolder) folder.getParent()) 
     folder.create(false, false, null); 
    } 
} 

:

İlgili konular