如何在添加新文件后刷新eclipse中的工作区?

时间:2014-12-04 22:06:46

标签: java eclipse spring-mvc

我正在使用Spring MVC创建一个Web应用程序。此应用程序创建一些图像并将它们保存到位于webapp目录中的目录中,然后返回如下视图:

<table>
  <tbody>
    <tr>
       <td><IMG SRC="http://locahost:8180/app/images/image1.png"></IMG></td>
       <td><IMG SRC="http://locahost:8180/app/images/image2.png"></IMG></td>  
    </tr>
  </tbody>
</table>

问题是我没有获得图像,我必须在Eclipse上刷新以获取这些图像。 有任何想法吗?

1 个答案:

答案 0 :(得分:1)

好的,请详细说明我在评论中添加的链接。

我偶然发现了两种做你需要的方法(实际上并没有这样做,但它们似乎适用于其他人):

1)使用ANT刷新Eclipse工作区 (Answer Link)

如链接中所述,Eclipse提供了几个可用于各种目的的ant任务,其中一个是<eclipse.refreshLocal />标记:

<eclipse.refreshLocal resource="MyProject/MyFolder" depth="infinite"/>
  • resource 是相对于工作区的资源路径
  • 深度可以是以下之一:零,一或无限

此外,如果您遇到 BUILD FAILED 错误,请确保您没有在Eclipse JRE之外运行ANT。要解决此问题,请打开外部工具对话框(运行&gt;外部工具&gt;打开外部工具对话框...),并确保将JRE选项卡设置为“在与工作区相同的JRE中运行。”

2)使用IResource.refreshLocal() API以编程方式刷新Eclipse工作区 (Answer Link)

如链接答案中所述,您可以在项目根目录,特定文件夹或单个文件中执行此操作。

要刷新工作区中的所有项目,只需使用ResourcesPlugin.getWorkspace().getRoot().getProjects() API枚举所有项目并依次刷新每个项目。

这是另一个示例(来自API网站),它使用FileOutputStream设置文件的内容,然后使用refreshLocal来同步工作区。

   private void externalModify(IFile iFile) throws ... {
      java.io.File file = iFile.getLocation().toFile();
      FileOutputStream fOut = new FileOutputStream(file);
      fOut.write("Written by FileOutputStream".getBytes());
      iFile.refreshLocal(IResource.DEPTH_ZERO, null);
   }