【问题标题】:Calling groovy execute cross platform调用 groovy 跨平台执行
【发布时间】:2017-03-03 03:15:28
【问题描述】:

我目前正在使用 gmaven plus 在 maven 中运行一个 groovy 命令。

命令(为了举例)将是

git help

如果我在 linux 上运行它,我可以这样做:

'git help'.execute().text.trim()

但这在 Windows 上不起作用。相反,我需要这样做:

'cmd /C git help'.execute().text.trim()

是否有跨平台的方式来做到这一点?

【问题讨论】:

  • 我可以在 Windows 上的 Groovy shell 中执行 'git help'.execute().text.trim()。如果它使用普通的 Groovy shell 在 Maven 之外工作,也许可以尝试一下。
  • 我做到了,我下载并运行了 groovysh 并遇到了这个问题。当我从 git bash 或从 cygwin 但不是从普通命令提示符(没有尝试 power shell)运行它时,它工作正常。问题是团队中的大多数人都在 linux 或 mac OS 上工作,少数人在 vanila 命令提示符下运行,所以我需要它在这两种环境下工作

标签: groovy gmaven-plugin


【解决方案1】:

看到它对其他人有效,我开始思考,确实问题出在我自己的 PATH 配置上;

显然,如果你在路径中定义git如下:

"C:\Program Files (x86)\Git\bin"

然后当从命令运行时它会找到 git。但是,groovy 不会找到它。

另一方面,如果你在路径中定义git如下:

C:\Program Files (x86)\Git\bin

即没有“”。然后一切正常。

另见https://serverfault.com/questions/349179/path-variable-and-quotation-marks-windows

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多