2011-12-22 14 views
5

Eclipse用の小さなプラグインを開発して、より大きなソフトウェアの新しいモジュールの出発点としていくつかのフォルダ(パッケージ)にいくつかのJavaファイルを作成しようとします。プラグインを使用してEclipseプロジェクトにパッケージ(フォルダ)を作成する方法

私はこのようなIFileオブジェクトを使用しようとしました:ファイルへのパス上のすべてのフォルダ限り働く

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

が存在します。しかし、紛失したフォルダ(新しいパッケージ)は作成されませんが、 "リソースは存在しません"という例外がスローされます。

IResourceまたはIWorkspaceオブジェクトでこれを行う方法が見つかりませんでした。

答えて

9

は個人的に、私は、再帰的にすべてのフォルダのようなものを作成し、小さなメソッドを使用します。

+0

私はIFolderインターフェイスを見かけませんでした。ありがとうございました! – capoocan

+2

私は親コンテナのタイプを次のようにチェックしなければなりません: 'if(folder.getParent()instanceof IFolder)prepare ...'。さもなければ、 'getParent'への最後の呼び出しは' IProject'を返し、その後のキャストは 'ClassCastException'を引き起こします。 – chrisklaussner

0

これはあなたの質問には答えませんが、Maven Archetypesをご覧ください。こうすることで、構成可能でEclipseに依存しない方法で、必要なディレクトリ構造と定型ファイルを持つプロジェクトテンプレートを作成できます。

IFile file = project.getFile(newPath); 

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

、その後、これは私のためによく働く方法

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

関連する問題