Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse插件开发:IFile删除和设置内容之前的侦听器?_Java_Xml_Eclipse_Eclipse Plugin_Eclipse Rcp - Fatal编程技术网

Java Eclipse插件开发:IFile删除和设置内容之前的侦听器?

Java Eclipse插件开发:IFile删除和设置内容之前的侦听器?,java,xml,eclipse,eclipse-plugin,eclipse-rcp,Java,Xml,Eclipse,Eclipse Plugin,Eclipse Rcp,我正在创建一组需要对xml进行编组和解编组的eclipse插件。因此,我创建了自定义生成器来验证这些xml,这些xml将在每次更改或删除文件时执行。我让生成器在删除和更改事件时执行,但我的问题是,更改或删除后,文件不存在,所以我无法执行解开文件 简而言之,我想在eclipse中验证xml是否以任何方式更改了其依赖文件。因此,我需要新旧资源状态。为此,我可能需要某种预删除或预更改IFile侦听器 有人能指引我正确的方向吗 谢谢。使用org.eclipse.core.resources.IResou

我正在创建一组需要对xml进行编组和解编组的eclipse插件。因此,我创建了自定义生成器来验证这些xml,这些xml将在每次更改或删除文件时执行。我让生成器在删除和更改事件时执行,但我的问题是,更改或删除后,文件不存在,所以我无法执行解开文件

简而言之,我想在eclipse中验证xml是否以任何方式更改了其依赖文件。因此,我需要新旧资源状态。为此,我可能需要某种预删除或预更改IFile侦听器

有人能指引我正确的方向吗


谢谢。

使用
org.eclipse.core.resources.IResourceChangeListener
侦听工作区中资源的所有更改

使用以下内容设置侦听器:

ResourcesPlugin.getWorkspace().addResourceChangeListener(listener);
当包含
IResourceDelta
的资源发生更改时,侦听器将获得一个
IResourceChangeEvent
。delta可以描述对多个资源的更改


如果使用
保留历史
标志修改
IFile
内容,则可以使用
IFile检索以前的文件内容。getHistory

在资源增量中标识更改的文件,但是您无权访问资源增量中文件的上一个内容。因此无法进行解组。添加了有关文件历史记录的信息