JDepend

描述

调用 JDepend 解析器。

此解析器“遍历一组 Java 源文件目录并为每个 Java 包生成设计质量指标”。它允许“根据其可扩展性、可重用性和可维护性自动衡量设计的质量,以有效地管理和控制包依赖关系”。

源文件目录由嵌套的 <sourcespath> 定义。类文件目录由嵌套的 <classespath> 定义。请参阅 嵌套元素

可选地,您还可以设置 outputfile 名称,其中存储输出。默认情况下,该任务将其报告写入标准输出。

该任务至少需要 JDepend 1.2 版本。

参数

属性 描述 必需
outputfile 输出文件名。如果未设置,则输出将打印到标准输出。
format 写入输出的格式,可以是 text(默认)或 xml 否;默认值为 text
fork 在单独的 JVM 中运行测试。 否;默认值为 off
haltonerror 如果在 jdepend 分析期间发生错误,则停止构建过程。 否;默认值为 off
timeout 如果操作在给定时间(以毫秒为单位)内未完成,则取消操作。 否,如果 forkfalse 则忽略
jvm 用于调用 JVM 的命令。该命令由 java.lang.Runtime.exec() 解析。 否;默认值为 java,如果 forkfalse 则忽略
dir 在其中调用 JVM 的目录。 否,如果 forkfalse 则忽略
includeruntime 在分叉模式下隐式添加运行 jdepend 所需的类。自 Apache Ant 1.6 起 否;默认值为 no,如果 forkfalse 则忽略
classpathref 要使用的 classpath,作为对在其他地方定义的路径的引用。

作为嵌套元素指定的参数

jdepend 支持四个嵌套元素:<classpath><classespath><sourcespath>,它们代表 路径状结构,以及 <exclude>

<sourcespath> 用于定义要分析的源代码的路径,但已弃用。在 JDepend 的 2.5 版本中,仅分析类文件。嵌套元素 <classespath> 替换 <sourcespath>,用于定义要分析的已编译类代码的路径;<sourcespath> 变量仍然可用,以防您使用的是早期版本的 JDepend。<exclude> 元素可用于设置要忽略的包(需要 JDepend 2.5 或更高版本)。

示例

build 目录上调用 JDepend,将输出写入标准输出。类路径使用引用定义。

<jdepend classpathref="base.path">
    <classespath>
        <pathelement location="build"/>
    </classespath>
</jdepend>

这将在单独的 JVM 中在 srctestsrc 目录上调用 JDepend,将输出写入 docs/jdepend.xml 文件(以 XML 格式)。类路径使用嵌套元素定义。

<jdepend outputfile="docs/jdepend.xml" fork="yes" format="xml">
    <sourcespath>
        <pathelement location="src"/>
    </sourcespath>
    <classpath>
        <pathelement location="classes"/>
        <pathelement location="lib/jdepend.jar"/>
    </classpath>
</jdepend>

使用构建目录作为要分析的类文件的基目录调用 JDepend,并忽略 java.*javax.* 包中的所有类。

<jdepend classpathref="base.path">
    <exclude name="java.*>
    <exclude name="javax.*>
    <classespath>
        <pathelement location="build"/>
    </classespath>
</jdepend>