JBoss Tattletale 简介

Tattletale1可以帮助你分析你的项目中组件之间的依赖关系。通过扫描你的项目,它可以生成不同的报告,以HTML表单的形式展现出来,让你对你的项目所使用的组件,和项目代码模块之间的相互关系有更加直观的把握。

它可以分析的内容包括:

  • Dependants – 被依赖关系
  • Depends On – 依赖关系
  • Graphical Dependencies - 图形化的依赖关系
  • Transitive Dependants – 间接被依赖关系
  • Transitive Depends On – 间接依赖关系
  • Circular Dependency – 循环依赖
  • Class Location – 类的位置
  • OSGi
  • Sealed information – 封装信息
  • Signed information – 签名信息
  • Eliminate Jar files with different versions - 项目中引用了同一个jar的不同版本的有关信息
  • Invalid version – 无效的版本信息
  • Multiple Jar files – 相同的jar文件出现在多处
  • Multiple Locations
  • Unused Jar – 未使用的jar
  • No version – 无版本信息
  • Black listed API – 订制黑名单过滤,找出有问题的API
  • JAR archive

下面我们来看一下如何使用Tattletale进行些实际的工作。首先是下载Tattletale。下载它是非常方便的,访问这个网址,下载最新的稳定版本:

 

下载完成后,我们把压缩包解开,可以看到项目目录里面非常干净,只有几个jar以及pdf格式的用户手册和开发手册各一份。实际上这是这个项目的开发者Jesper的一贯风格:干净、简洁。我们在之间的Papaki2的介绍中就可以体会到这一点。

闲话少说,我们来玩玩看。现在我们拿TT来分析javassist这个项目试试看。我使用maven下载了一份javaasist的jar,假设它位于:

1 /javassist/javassist-3.6.0.GA.jar

 

我现在进入TT的解压后的目录,使用这个命令来分析javassist:

1 java -Xmx512m -jar tattletale.jar /javassist/javassist-3.6.0.GA.jar ./output/

 

此时TT会开始分析javaassist项目的相关信息,这个过程可能会持续时间比较长,取决于你的机器硬件配置。分析完成后,TT会生成一份分析报告在我们指定的output目录中。我们打开这个分析报告,可以看看TT生成的分析结果:

可以看到,TT的报告分为三个等级:

  • INFO – 信息
  • WARNING – 警告
  • ERROR - 错误

同时TT的报告有三种颜色:

  • 红色
  • 黄色
  • 绿色

红色代表需要关心,黄色代表警示,绿色代表正常。TT针对不同的报告各自有一套默认的机制,配置了在什么情况下应该显示什么颜色。当然这个默认机制是可以通过配置来进行改变的,详细的配置方法可以通过阅读用户手册获得。

在这里,我们看一看TT生成图形分析报告,通过一个关系图,我们可以看到项目中组件的相互关系:

现在,我们已经基本上理解了TT的工作机制,通过这个工具,我们不但可以分析项目中组件的相互依赖关系,还可以通过它分析项目引用了哪些库,有哪些库被引用了但未被使用,以及各种项目中可能存在的问题。通过熟练使用Tattletale,它必成为我们日常工作中的利器。

1 大家更习惯简称它为TT

2 http://bluedash.net/spaces/40

 

转载:http://www.bluedash.net/spaces/JBoss%20Tattletale%20%E7%AE%80%E4%BB%8B

 

 

你可能感兴趣的:(jboss,Tattletale,Tattletale)