2014-12-04 1 views
1

Я создаю веб-приложение, используя Spring MVC. Это приложение создает некоторые изображения и сохраняет их в каталог, расположенный в каталоге WebAPP, а затем возвращает представление, как следующее:Как обновить рабочее пространство в eclipse после добавления новых файлов?

<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

Все файлы, которые вы создаете, существуют в файловой системе, но не отображаются в Eclipse, пока не обновите (F5). –

+0

Есть ли все-таки, чтобы обновить programmaticaly после добавления некоторых новых файлов? – Martin

+1

вы можете запрограммировать свои пальцы, чтобы нажать F5 XD – nLee

ответ

0

Хорошо, поэтому, чтобы подробнее рассказать о ссылках, которые я добавил в комментарии.

я наткнуться двумя способами делать то, что вам нужно (на самом деле не делать их, но казалось, что они работают для других):

1) Освежающий Eclipse, рабочая область с помощью ANT(Answer Link)

Как указано в ссылке, Eclipse предоставляет несколько муравьиных задач, которые можно использовать для различных целей, одна из которых является <eclipse.refreshLocal /> тег:

<eclipse.refreshLocal resource="MyProject/MyFolder" depth="infinite"/> 
  • ресурс это путь ресурса по отношению к рабочему пространству
  • глубины может быть одно из следующих действий: ноль, один или бесконечное

Кроме того, если вы получите BUILD FAILED ошибку, сделать убедитесь, что вы не используете ANT вне Eclipse JRE. Чтобы исправить это, откройте диалоговое окно «Внешние инструменты» («Выполнить»> «Внешние инструменты»> «Открыть внешние инструменты») и убедитесь, что на вкладке JRE установлено значение «Запустить в том же JRE, что и в рабочем пространстве».

2) Освежающая Eclipse, рабочее пространство программно с помощью API IResource.refreshLocal()(Answer Link)

Как указано в связанном ответ, вы можете сделать это в корне проекта, определенной папки или отдельного файла.

Чтобы обновить все проекты в рабочей области, просто перечислите все проекты с использованием API ResourcesPlugin.getWorkspace().getRoot().getProjects() и обновите их поочередно.

Вот еще один пример (с веб-сайта 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); 
    } 
Смежные вопросы