当前位置:编程学习 > JAVA >>

eclipse中文件同步的问题

  这几天遇到一个问题,在程序中删除、新建文件之后,在本地文件系统中可以看到文件删除、新建的变化,但在eclipse空间中并没有更新,也就是没有实现工作空间与资源文件的同步。本来以为安装File Sync插件就可以了,但后来才知道这个插件是实现eclipse工作空间向本地资源文件的同步,不能实现本体资源文件向eclipse工作空间的同步。后来在网上看到这样一道解决办法:
 (1)在eclipse中,工程目录右键,选择F5(refresh)
 (2)设置eclipse自动刷新。通过Window->Preferences->General->Workspace,选中Refresh automatically。 
这样设置之后虽然可以实现自动刷新工作空间,但这种刷新有延时,而我在程序中需要实时刷新,所以这道方法不能解决我的问题。继续看帖,找到这样一个办法:

同步刷新机制:有时对Eclipse中的文件操作完后,需要刷新一下资源,否则不能显示你的修改。刷新方法可以如下:

IResource res= ResourcesPlugin.getWorkspace().getRoot().findMember(editorinput.getPath());
res.refreshLocal(IResource.DEPTH_ZERO,null);

或者

IFile file = editorinput.getFile();
file.refreshLocal(IResource.DEPTH_ZERO,null);

将上述代码贴入我程序中,开始存在类型不能解析的问题,变导入相应的jar包,但总是出现这样一个问题:

导入的jar包是:
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.*;

然后贴入的代码是:
IResource res= ResourcesPlugin.getWorkspace().getRoot().findMember(editorinput.getPath());
res.refreshLocal(IResource.DEPTH_ZERO,null);


无法解析类型 org.eclipse.core.runtime.jobs.ISchedulingRule。从必需的 .class 文件间 接引用了它
editorinput无法解析

然后就不知道要怎么解决了。求各位大神们帮助解决。 --------------------编程问答-------------------- --------------------编程问答-------------------- 我后来才发现我并不是在插件项目下调用ResourcePlugin的,而是想在应用程序中实现实时刷新某个文件夹下的文件,到最后运行程序是出现这样的问题:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Workspace is closed.

在网上搜索了下,可能是因为在应用程序中是不能使用ResourcePlugin的,那是不是就没有解决办法了呢?如果我一定要在应用程序中实现文件资源与工作空间的实时同步,而不是eclipse自带的自动刷新(因为有延时),那有没有办法解决呢?


请赐教啊!!! --------------------编程问答-------------------- 有木有解决办法 同问啊
补充:Java ,  Eclipse
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,