保存アクションにフックするプラグインを作成し、編集された JavaScript ファイルの縮小された JavaScript ファイルを作成しました。この質問で完全なコードを見ることができます: eclipse plugin does not work after update to juno (eclipse 4)
問題は、Juno 以降、このプラグインがワークスペースの構築プロセスで無限ループを作成することです。最初に、まったく変更していないファイルの縮小を開始します。このファイルは、ビルドで無限ループを作成します。ファイルの縮小が完了すると、新しいワークスペースのビルドが開始され、ファイルが再度縮小されます。しかし、これは、特に新しい日食の開始時に、しばらくするとさらに悪化します。突然、私が触れたことのない多数のファイルが縮小されます。プラグインをアンインストールし、eclipse にワークスペースを構築させ、プラグインを再インストールすると、再び機能します。しかし、しばらくすると、これがすべて始まります。
ファイルを作成するジョブの処理方法に関連していると思います。以下を参照してください。ジュノで何かが変わったのでしょうか?しかし、私はそれに関する情報を見つけることができません。
Job compileJob = new Job("Compile .min.js") {
public IStatus run(IProgressMonitor monitor) {
public IStatus run(IProgressMonitor monitor) {
byte[] bytes = null;
try {
bytes = CallCompiler.compile(fullLocation.toString(), CallCompiler.SIMPLE_OPTIMIZATION).getBytes();
InputStream source = new ByteArrayInputStream(bytes);
if (!newFile.exists()) {
newFile.create(source, IResource.NONE, null);
} else {
newFile.setContents(source, IResource.NONE, null);
}
} catch (IOException e) {
e.printStackTrace();
} catch (CoreException e) {
e.printStackTrace();
}
return Status.OK_STATUS;
}
};
compileJob.setRule(newFile.getProject());
compileJob.schedule();