首页 > 解决方案 > 使用 Ant 打印 Java 的包层次结构

问题描述

我想用 ant 的“echo”列出我所有的 java 包。我的意思是,例如,我有这个包层次结构:

  1. 文件夹 1
    • 包1
    • 包2
  2. 文件夹 2
    • 包1
    • 包2

ant 文件必须通过 echo 的任务显示如下内容:

有任何想法吗?

标签: javaant

解决方案


这是一个示例目标,展示了这是如何实现的。请注意,您可能需要根据文件的位置更改 的dirs值。cutdirsmapper

<target name="default">
    <delete dir="Folder1" />
    <delete dir="Folder2" />

    <mkdir dir="Folder1" />
    <touch file="Folder1/Package1" />
    <touch file="Folder1/Package2" />

    <mkdir dir="Folder2" />
    <touch file="Folder2/Package1" />
    <touch file="Folder2/Package2" />

    <pathconvert property="packages" pathsep="${line.separator}" dirsep=".">
        <fileset dir="." includes="Folder1/**/*,Folder2/**/*" id="packages" />
        <cutdirsmapper dirs="4" />
    </pathconvert>

    <echo message="${packages}" />
</target>

推荐阅读