我创建了一个插件来挂钩保存操作并创建一个已编辑 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();