java – 我的eclipse插件创建了无限的工作空间构建循环,可能与工作相关
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 我的eclipse插件创建了无限的工作空间构建循环,可能与工作相关,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2202字,纯文字阅读大概需要4分钟。
内容图文
![java – 我的eclipse插件创建了无限的工作空间构建循环,可能与工作相关](/upload/InfoBanner/zyjiaocheng/778/cdd90dd7b49c42e987dc2a1295e9e5c4.jpg)
我已经创建了一个插件来挂钩到保存操作并创建一个已编辑的javascript文件的缩小的javascript文件.您可以在此问题中看到完整代码:eclipse plugin does not work after update to juno (eclipse 4)
问题是,由于Juno这个插件在工作空间构建过程中创建了无限循环.
它首先开始缩小我根本没有改变的文件.此文件在构建中创建无限循环.当它完成minifing文件时,它会启动一个新的工作区构建并再次缩小文件,依此类推.
但是经过一段时间后,这种情况会变得更糟,尤其是在新的日食开始时.突然间,有十几个文件缩小了我从未接触过的文件.
如果我卸载我的插件,那么让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();
解决方法:
您需要将newFile设置为派生.派生文件是在构建期间由工作空间隐式创建的文件,并且应该在清理期间擦除它(因为它可以在下一次构建期间恢复).
您可以在IResource上调用setDerived方法:
org.eclipse.core.resources.IResource.setDerived(boolean, IProgressMonitor)
或者在创建文件时,可以将其创建为派生文件,但是这样调用:
newFile.create(stream,IResource.DERIVED,monitor);
但是,您无法通过setContents设置DERIVED标志,在这种情况下您必须显式调用setDerived(true).
来自文档:
A derived resource is a regular file or folder that is
created in the course of translating, compiling, copying, or otherwise
processing other files. Derived resources are not original data, and can be
recreated from other resources. It is commonplace to exclude derived
resources from version and configuration management because they would
otherwise clutter the team repository with version of these ever-changing
files as each user regenerates them.
内容总结
以上是互联网集市为您收集整理的java – 我的eclipse插件创建了无限的工作空间构建循环,可能与工作相关全部内容,希望文章能够帮你解决java – 我的eclipse插件创建了无限的工作空间构建循环,可能与工作相关所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。