2013-03-14 2 views
9

Я развивающиеся большой веб-приложение в Eclipse, и некоторых ресурсы (я говорю о файлах, НЕ код) получает Однако я не знаю, какие из них, и я включаю их в мой файл окончания войны.Найти неиспользуемые файлы ресурсы (.jsp, .xhtml, изображения) в Eclipse,

Я знаю, Eclipse, распознает пути к файлам в свою директорию, потому что я могу получить доступ к ссылке на изображение или другой страницу в то время как я редактирую один из моих Xhtml страниц (с использованием управления). Но есть ли способ локализовать неиспользуемые ресурсы, чтобы удалить их?

ответ

1

UCDetector Возможно, ваш лучший выбор, в частности, custom Особенности маркера этого инструмента.

2

Как я знаю, Eclipse этого не имеет (нужно это тоже).

Я использую grep в сочетании с bash scripting - сценарий оболочки принимает файлы в моей папке ресурсов, помещает имена файлов в список, greping throught исходный код для каждой записи в списке, и если grep находит его, он удаляется.

В конце списка печатается на консоли - только неиспользуемые ресурсы сохраняются в списке.

+0

У вас есть сценарий вокруг там? Просто чтобы задуматься. –

3

После 3 шага будет работать для сайтов с относительно конечного числа динамических страниц:

  1. Установите свой сайт на «ред файловой системы mount с atime (время доступа).

  2. Попробуйте собрать весь сайт с помощью wget.

  3. Используйте find, чтобы увидеть, к каким файлам не обращались в последнее время.

Выполнено.

0

В Eclipse я не нашел пути. Я использовал следующий скрипт командной оболочки.

Найти .ftl файлы шаблонов, которые не ссылаются в файлах .java

cd myfolder 
find . -name "*.ftl" -printf "%f\n" |while read fname; do grep --include \*.java -rl "$fname" . > /dev/null || echo "${fname} not referenced" ; done; 

или

Найти все .ftl файлы шаблонов, которые не ссылаются в .java, .ftl,. включая дополнительные файлы

cd myfolder 
find . -name "*.ftl" -printf "%f\n" |while read fname; do grep --include \*.java --include \*.ftl --include \*.inc -rl "$fname" . > /dev/null || echo "${fname} not referenced" ; done; 

Примечание: на MacOSX вы можете использовать gfind в вместо find в случае, если -printf не работает.

Пример вывода

productIndex2.ftl not referenced 
showTestpage.ftl not referenced