Ant 解压缩任务 - 如何从提取的层次结构中排除存档名称?

发布于 2024-09-07 22:55:08 字数 174 浏览 3 评论 0原文

在执行 ant 解压缩任务后,如何从文件层次结构中排除存档名称?

例如,一旦 ant 在文件夹 C:\temp 中运行解压缩任务,我想要存档存档中的所有文件,但我得到的是 C:\temp\t\file。 tmp

我可以有效地排除存档中的基本目录吗?

How can I exclude the archive name from the file hierarchy after an ant unzip task?

For example, once ant's run the unzip task in the folder C:\temp, I want all the files from the archive archive, but instead I get C:\temp\t\file.tmp.

Can I effectively exclude the base directory inside the archive?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

八巷 2024-09-14 22:55:08

使用映射器指定文件在目标目录中的外观:

<unzip src="t.zip" dest="temp">
    <globmapper from="t/*" to="*"/>
</unzip>

Use a mapper specify how the files should look in the destination directory:

<unzip src="t.zip" dest="temp">
    <globmapper from="t/*" to="*"/>
</unzip>
沙与沫 2024-09-14 22:55:08

现在更好的解决方案是 cutdirsmapper

<unzip src="t.zip" dest="temp">
    <cutdirsmapper dirs="1"/>
</unzip>

A better solution now is the cutdirsmapper:

<unzip src="t.zip" dest="temp">
    <cutdirsmapper dirs="1"/>
</unzip>
罪#恶を代价 2024-09-14 22:55:08

我用:

<mapper type="flatten" />   

另请参阅 https://www.safaribooksonline.com/library /view/ant-the-definitive/0596001843/ch04s10.html

展平映射器从文件名中删除所有路径信息。

例如在 build.xml 中:

<target name="extract-xsd">
    <unzip src="./cache/nl.packagename.example/xx/jars/somepackage.jar" dest="repository">
        <mapper type="flatten" />
        <patternset>
            <include name="**/Example.xsd"/>
            <include name="**/Example.wsdl"/>
        </patternset>
    </unzip>
</target>

结果,Example.xsd 和 Example.wsdl 直接放入存储库文件夹中。

I use:

<mapper type="flatten" />   

See also https://www.safaribooksonline.com/library/view/ant-the-definitive/0596001843/ch04s10.html

The flatten mapper removes all path information from filenames.

For example in build.xml:

<target name="extract-xsd">
    <unzip src="./cache/nl.packagename.example/xx/jars/somepackage.jar" dest="repository">
        <mapper type="flatten" />
        <patternset>
            <include name="**/Example.xsd"/>
            <include name="**/Example.wsdl"/>
        </patternset>
    </unzip>
</target>

As a result, the Example.xsd and Example.wsdl are put in the repository folder directly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文