【问题标题】:How to pass default ant settings when using ant from prompt?从提示中使用 ant 时如何传递默认的 ant 设置?
【发布时间】:2016-12-06 14:48:00
【问题描述】:

在一个项目中,有一个 ant build.xml 文件,例如连接和缩小 JS 资源。我正在使用 grunt 任务,它监视要缩小的文件,然后运行此任务(我正在使用 grunt Exec Plugin):

exec: {
    'run_build_script': 'cd <navigate to the build script directory> && ant'
}

比较生成的脚本后,我注意到变音符号编码不正确。例如 ä 变成 ä

有没有办法像在 eclipse 中一样使用相同的设置?我也试过这条线:

ant -Dfile.encoding=UTF-8

但它没有用。有谁知道这是什么原因以及如何预防?

【问题讨论】:

    标签: eclipse ant exec command-prompt


    【解决方案1】:

    如果您想将默认参数传递到 build.xml,我建议将它们硬编码在 build.xml 中:

    <property name="file.encoding" value="UTF-8"/>
    

    您可以通过外部传递属性值来覆盖此属性。

    ant -Dfile.encoding=UTF-8
    

    确保从正确的目录执行 ant。比更改 workdir 和运行 ant 更好的方法是将 -f &lt;path to build.xml&gt; 传递给 ant(但请确保不要使用相对路径)。对于调试,您可以使用启用详细模式的-v 标志。因此完整的命令行看起来像:ant -f &lt;path to build.xml&gt; -v -Dfile.encoding=UTF-8

    【讨论】:

    • 谢谢。但如上所述,我已经尝试过这条线,不幸的是它没有帮助。我不知道是什么导致了不同的输出。全局 ant 配置和 eclipse 内置 ant 配置之间肯定有其他区别。
    • 我回答的目的是向您展示-v 标志,以便您验证-D-injected 参数是否真正应用。
    • 并展示如何为 ant 脚本提供属性的默认值 ;)
    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    相关资源
    最近更新 更多