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:

1java -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/Papaki


本文作者

 

Now, here, you see, it takes all the running you can do, to keep in the same place.

25c0f1fd24202fb7fcb5bea0a286cde93f5157e1
 
标签:  tattletale   tt   jboss   java   redhat   简介
 
本文短地址: http://bluedash.net/t/r7NU   [复制]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值