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


资料夹1


套餐1
套餐2

资料夹2


套餐1
套餐2



ant文件必须在echo的任务中显示以下内容:


文件夹1.包装1
文件夹1.包装2
Folder2.Package1
Folder2.Package2


有任何想法吗?

最佳答案

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

<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>

09-30 11:22