gpt4 book ai didi

java - 如何阻止我的命令行参数在 Maven 插件中被转义?

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:20 25 4
gpt4 key购买 nike

我有一个插件,它使用 Plexus 命令行来调用一些外部进程并捕获输出。其中一个参数的格式很有趣,带有空格和引号,例如--范围:“2008 年 8 月 25 日”-“2009 年 8 月 4 日”。我无法更改参数所需的格式,但 Plexus 会检测参数中的空格并将整个内容用引号引起来。

所以

call --range:"25 Aug 2008"-"04 Aug 2009"

变成了

call "--range:"25 Aug 2008"-"04 Aug 2009""

调用失败。

我可以让 plexus 停止转义参数吗?

最佳答案

Commandline 对象使用 Shell 与本地环境交互,您可以配置 Shell 来覆盖默认的转义过程,以不转义任何引号:

Commandline cl = new Commandline("call");
commandline.getShell().setQuotedArgumentsEnabled(false);

请注意,这意味着没有参数将被引用,因此请小心使用!

关于java - 如何阻止我的命令行参数在 Maven 插件中被转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1254682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com