2013-03-14 3 views
9

I und einige der Ressourcen eine große Web-Anwendung in Eclipse-bin Entwicklung (ich spreche über Dateien, NICHT Code) bekommen veraltet, aber ich weiß nicht, welche sind und ich schließe sie in meine Endkriegsdatei ein.Suche nicht genutzten Ressourcendateien (.jsp, .xhtml, Bilder) in Eclipse

Ich weiß, dass Eclipse-Dateipfade in seinem Verzeichnis erkennt, weil ich den Link zu einem Bild oder einer anderen Seite zugreifen kann, während ich eine meiner Seiten xhtml Bearbeitung (Steuerung verwenden). Aber gibt es eine Möglichkeit, die ungenutzten Ressourcen zu lokalisieren, um sie zu entfernen?

Antwort

1

UCDetector möglicherweise Ihre beste Wette, speziell die custom Marker Aspekte dieses Werkzeugs.

2

Wie ich weiß, Eclipse hat dies nicht (brauche das auch).

Ich benutze Grep in Verbindung mit Bash-Scripting - Shell-Skript nimmt Dateien in meinem Ressourcenordner, Dateinamen in Liste, greping durch Quellcode für jeden Datensatz in der Liste und wenn Grep findet es entfernt.

Am Ende wird die Liste auf der Konsole gedruckt - nur ungenutzte Ressourcen bleiben in der Liste.

+0

Haben Sie das Skript um dort haben? Nur um eine Idee zu machen. –

3

diese 3 Schritte werden mit einer relativ begrenzten Anzahl von dynamischen Seiten für Websites funktionieren würde:

  1. Installieren Sie Ihre Website auf einem Dateisystem mount ‚mit atime (Zugriffszeit) hrsg.

  2. Versuchen Sie, die gesamte Website mit wget zu ernten.

  3. Verwenden Sie find, um zu sehen, auf welche Dateien kürzlich nicht zugegriffen wurde.

Erledigt.

0

In Eclipse habe ich keinen Weg gefunden. Ich habe das folgende Shell-Befehlsskript verwendet.

Finden .ftl Template-Dateien, die

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

oder

alle .ftl Vorlagendateien finden in .java-Dateien nicht referenziert werden, die in .java- nicht referenziert werden, .ftl. inc-Dateien

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; 

Hinweis: auf MacOSX können Sie gfind verwenden in statt find im Fall -printf funktioniert nicht.

Beispiel Ausgabe

productIndex2.ftl not referenced 
showTestpage.ftl not referenced