我目前正在尝试为使用 CyVis 0.9 作为其工具之一的 Java 项目制作 Ant 构建文件。我遇到了一个问题,我无法让它生成 html 报告。下面是我的 build.xml 文件中的确切代码,该文件几乎完全取自 CyVis 网站上的教程。目前,它正在生成文本报告就好了;但是,文本报告的帮助不大。
我已经在团队成员的计算机上运行了完全相同的代码,并且运行良好。从那以后,我重新安装了 CyVis 和 Ant,但运气不佳。
<path id="cyvis.path">
<fileset dir="${cyvis.home.dir}">
<include name="**/*.jar"/>
</fileset>
</path>
<taskdef name="cyvis"
classname="cyvis.ant.CyvisTask"
classpathref="cyvis.path"
/>
<target name="report.cyvis">
<mkdir dir="${report.cyvis.dir}" />
<cyvis verbose="false" home="${cyvis.home.dir}">
<fileset dir="${bin.dir}">
<include name="**\*.class"/>
</fileset>
<report type="text" outFile="${report.cyvis.dir}\test.txt" />
<report type="html" outFile="${report.cyvis.dir}\index.html" />
</cyvis>
</target>
运行构建后,我得到以下输出:
report.cyvis:
[mkdir] Created dir: C:\Users\Dustin\workspace\H2\report\cyvis
[cyvis] Text report generated, see C:\Users\Dustin\workspace\H2\report\cyvis\test.txt
BUILD FAILED
C:\Users\Dustin\workspace\H2\build.xml:319: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Invalid final field cyvis.metric.ProjectMetric.classes
注释掉 html 报告时,构建成功,但只生成文本报告。我没有运气研究这个错误,也看不出我和我同事的设置有什么不同。