Tattletale[1]可以帮助你分析你的项目中组件之间的依赖关系。通过扫描你的项目,它可以生成不同的报告,以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。下载它是非常方便的,访问这个网址,下载最新的稳定版本:
http://sourceforge.net/projects/jboss/files/JBoss%20Tattletale/
下载完成后,我们把压缩包解开,可以看到项目目录里面非常干净,只有几个jar以及pdf格式的用户手册和开发手册各一份。实际上这是这个项目的开发者Jesper的一贯风格:干净、简洁。我们在之间的Papaki[2]的介绍中就可以体会到这一点。
闲话少说,我们来玩玩看。现在我们拿TT来分析javassist这个项目试试看。我使用maven下载了一份javaasist的jar,假设它位于:
/javassist/javassist-3.6.0.GA.jar
我现在进入TT的解压后的目录,使用这个命令来分析javassist:
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/Papaki
- 大小: 100.5 KB
- 大小: 429.6 KB
分享到:
相关推荐
**JBoss ESB简介** JBoss ESB(Enterprise Service Bus,企业服务总线)是Red Hat公司提供的一个开源中间件,它属于Java EE平台的一部分,主要用于实现不同系统间的集成和通信。ESB作为企业级应用架构的核心组件,...
### JBoss AS 7 简介与特点 JBoss AS 7(Application Server 7)是JBoss系列中的一个重要版本,它标志着JBoss AS在技术架构上的一次重大革新。本文将详细介绍JBoss AS 7的历史背景、设计初衷、核心技术和内部结构,...
【Jboss ESB 简介】 JBoss ESB(Enterprise Service Bus)是Red Hat公司提供的一个开源中间件,它是基于Java的企业级服务总线,用于实现不同应用间的集成和通信。ESB作为SOA(Service-Oriented Architecture,面向...
Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...
【JBOSS,JBoss安装部署】 JBoss是Red Hat公司开发的一款开源的应用服务器,它基于Java EE(Enterprise Edition)规范,提供了全面的企业级应用程序部署和管理解决方案。本篇文章将详细讲解JBoss的安装和部署过程,...
【JBoss 应用服务器详解】 JBoss 是一个开源的、基于 J2EE(Java 2 Platform, Enterprise Edition)的应用服务器,由全球开发者社区共同维护和开发。它最初以 LGPL 许可协议发布,允许商业应用免费使用。2006年,...
JBoss AS 7.1.0.Final是在Linux环境下运行的一款开源Java应用服务器,由Red Hat公司维护。这个版本发布于2012年,它引入了许多改进和新特性,旨在提供更快的启动速度、更高的性能以及更好的模块化。在这个环境中,...
【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目开发来说,它提供了强大的支持。而JBoss则是一个开源的应用服务器,广泛用于部署和管理...
【JBoss 概述】 JBoss 是一个开源的、基于Java的、全面实现了J2EE规范的应用服务器。它提供了企业级的功能,如EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTS/JTA(Java Transaction Service / ...
"在IntelliJ IDEA 8中部署Jboss服务器图解" IntelliJ IDEA 8是 JetBrains 公司开发的一款功能强大且灵活的集成开发环境(IDE),它支持多种programming语言,包括Java、Python、Ruby、PHP等。Jboss则是一款流行的...
JavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-commonJavaEE源代码 jboss-...
jboss配置入门 jboss系统是一种基于Java的应用服务器,具有高性能、可扩展、安全性强等特点。在本文中,我们将对jboss的基本配置进行介绍,包括其文件夹结构、配置文件、负载均衡配置等。 jboss文件夹结构 jboss的...
【JBoss EAP 7.2.6 补丁包详解】 JBoss Enterprise Application Platform (EAP) 是 Red Hat 提供的一款开源中间件,用于构建、部署和管理企业级 Java 应用程序。JBoss EAP 7.2.6 版本是一个重要的更新,包含了多个...
JBoss是著名的开源Java应用服务器,它基于Java EE(Enterprise Edition)规范,为开发者提供了全面的中间件服务。4.0.5.GA版本是JBoss的一个稳定版本,发布于2006年,适用于那些需要可靠且成熟的Java应用程序部署的...
JBoss是一款著名的开源Java应用服务器,它提供了许多企业级服务,包括事务管理、安全性和集群功能。在开发过程中,为了提高效率,我们通常希望在不中断应用服务的情况下更新部署的应用程序,这就是所谓的“热部署”...
在书的最后,提供了作者的简介,Francesco Marchioni作为一位有深厚背景的企业架构师,拥有丰富的JBoss应用服务器使用和管理经验。他从1997年开始学习Java,并一直跟随Sun公司发布的新API前进,2000年加入JBoss社区...