2012-02-27 25 views
2

Eclipseプラグインを設定して、データを処理してプロジェクト内のファイルを生成できるようにしています。 project.getFolder().createを使用してIFolderを作成し、IFileのオブジェクトをproject.getFile().create()で作成することができます。しかし、いったん作成されると、それらはプロジェクトナビゲータに表示されますが、リソースが「ローカルではない」ということについて多くのエラーが発生し、ファイルシステムに表示されません。何が起こっているのですか、何を変更する必要がありますか?リソースはローカルではありません - Eclipseプラグインでファイルを作成する

ここでフォルダを作成するためのコードです:IFileを作成するための

IFolder f = project.getFolder(folderName); 
if (!f.exists()) f.create(false, false, null); 

そして、私のコードは基本的に同じです。プラグインはローカルのファイルシステム上で実行されているだけなので、私のコードでエラーが発生していると思われます。 f.create(...)方法の2番目のパラメータで

+0

質問を、作成を示す適切なコードスニペットで更新できますか?あなたのプロジェクトはリモートEFS上でホストされていますか?または単に標準的なローカルディレクトリですか? –

+0

ちょうど標準的なローカルディレクトリで、フォルダの作成コードを追加しました - 私はそれを動作させるために必要ないくつかのステップやオブジェクトがないと思います。 – Tas

+0

ファイルを作成するとき、どのような入力ストリームを与えますか? –

答えて

1
IFolder f = project.getFolder(folderName); 
if (!f.exists()) f.create(false, false, null); 

trueに設定されている場合、フォルダはLOCALになりますとエラーが(少なくとも、それは私の場合には停止して)来ることはありません。また、私はこれらのエラーがチームのプロバイダから来ているのを見ました(gitなど)。

1

私は同じ問題を抱えていましたが、まだ理解していませんが、何か問題はありません。私は、ファイルだけで、フォルダに問題はなかった。最初に、ファイルを作成するときにファイルの内容を設定しようとしていました。これはうまくいかず、「リソースはローカルではありません」という問題が発生しました。別のステップにコンテンツの設定を分割することにより

は、突然の事は仕事に開始しました:

file.create(new ByteArrayInputStream(new byte[0]), true, monitor); 
file.setContents(content, false, false, monitor); 

私は誰かに役立ちます願っています。

0

入力ストリームを確認してください。 nullまたはIOExceptionをスローすると、f.createは引き続き成功します。ただし、ファイルはEclipse UIではローカルではないと表示されます。

関連する問題