我正在Eclipse中开发一个大型 Web 应用程序,并且一些资源(我说的是文件,而不是代码)正在被弃用,但是,我不知道哪些是,我将它们包含在我的结束战争文件中.
我知道 Eclipse 可以识别进入其目录的文件路径,因为我可以在编辑其中一个xhtml页面(使用Control)时访问图像或其他页面的链接。但是有没有办法本地化未使用的资源以删除它们?
遵循这 3 个步骤将适用于动态页面数量相对有限的网站:
将您的站点安装在mount
带有atime
(访问时间)的文件系统上。
尝试使用wget
.
用于find
查看最近未访问的文件。
完毕。
据我所知,Eclipse 没有这个(也需要这个)。
我将 grep 与 bash 脚本结合使用 - shell 脚本在我的资源文件夹中获取文件,将文件名放入列表中,通过源代码查找列表中的每条记录,如果 grep 找到它,则将其删除。
最后列表打印在控制台上 - 只有未使用的资源保留在列表中。
UCDetector可能是您最好的选择,特别是该工具的自定义标记方面。
在 Eclipse 中我还没有找到方法。我使用了以下 shell 命令脚本。
查找 .java 文件中未引用的 .ftl 模板文件
cd myfolder
find . -name "*.ftl" -printf "%f\n" |while read fname; do grep --include \*.java -rl "$fname" . > /dev/null || echo "${fname} not referenced" ; done;
或者
查找 .java、.ftl、.inc 文件中未引用的所有 .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