利用JAVANCSS建立代码复杂度度量

上一篇 / 下一篇  2009-02-22 20:39:39 / 个人分类:集成测试

  

   JAVANCSS是一个广受推荐的的项目代码复杂度度量的评估工具,最近对此工具进行了实际应用,在过程中遇到并解决了不少问题,最终完成了其在ant上的配置和使用。在此记录有关问题与应对。

   问题1:执行的时候报错说找不到class :javancss.JavancssAntTask

   解决方法: 需要添加如下LIB: ccl.jar;javancss.jar;jhbasic.jar

   问题2: 在执行过程中,遇到类似错误:[javancss:report]TokenMgrError in /**/**   Lexical error at line 120, column 34. Encountered: "\r" (13), after : "\"Po"Caused by: java.lang.Exception: javancss.TokenMgrError: Lexical error at line 120, column 34. Encountered: "\r" (13), after : "\"Po"
... 23 more

   解决方法: 该问题产生的本质原因在于javancss的内部机制,其使用的是javacc的文法解析器,过老的javacc解析器产生的java grammar 不支持 utf-8编码,导致在处理中文注释等时会抛异常。我尝试了所有能够找到的javancss版本,大部分版本都存在这个问题,本来都已经不报希望,准备尝试研究javacc找寻支持utf-8编码的改写方法。但就在今天,我最后一次查找时,验证了javancss的29.50有效解决了此问题。

   问题3: 我使用的是ant+javancss,如何生成类似于标准ant的报告

   javancss生成的xml,需要用xslt 和定制的 stylesheet来解决。

   经过一系列问题的解决,终于可以得到我期望的代码度量结果了。如下将我build.xml配置方法贴出:

<taskdef name="javancss" classname="javancss.JavancssAntTask"  classpathref="ncssclasspath"/> 

 <target name="javaNCSS">
     <mkdir dir="${report.dir}" />
     <javancss srcdir="D:\share\src"   generateReport="true"  
      outputfile="${report.dir}\javancss-metric.xml"
              format="xml"/>  
  <xslt
        in="${report.dir}\javancss-metric.xml"
        ut="${report.dir}\javancss-metric.html"
        style="${report-xlst.dir}\javancss2methodhtml.xsl"
   classpathref="ncssclasspath"
      /> 
 </target>

   


TAG:

 

评分:0

我来说两句

lucksender

lucksender

努力做专业测试

我的栏目

日历

« 2024-04-27  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 4109
  • 日志数: 4
  • 建立时间: 2009-02-22
  • 更新时间: 2009-02-24

RSS订阅

Open Toolbar