【问题标题】:Grails fails if started with String parameter如果使用 String 参数启动 Grails 会失败
【发布时间】:2014-04-25 13:41:50
【问题描述】:

我对 Grails 框架还很陌生,并且遇到了一些奇怪的行为。如果我以这种方式使用 grails 命令行工具

grails "-DghprbPullTitle=Title with spaces" clean

grails 失败并显示此错误消息

| Script 'With' not found, did you mean:
   1) IntegrateWith
   2) Init
   3) CreateUnitTest

以这种方式启动 grails 会起作用

grails "-DghprbPullTitle=Title_without_spaces" clean

好的,现在可以说“然后避免空格”问题是,这发生在我使用 Jenkins + Grails 插件 + 拉取请求生成器插件时。 Pull Request Builder Plugin 生成其中一些带有空格的参数。

任何想法如何使用带有此类包含空格的参数的 grails。或者我如何告诉 Pull Request Builder Plugin 不生成这样的参数。

另一方面,Maven 能够处理此类参数。

提前致谢, 马可

【问题讨论】:

  • 如果使用grails -DghprbPullTitle='Title with spaces' cleangrails -DghprbPullTitle="""Title with spaces""" clean,你能得到参数吗?还没测试,试一试。
  • 不幸的是,这两种变体都会导致相同的错误。尽管如此,我还是无法告诉 Pull Request Builder Plugin 生成这样的参数:(
  • 我使用 2.3.7 版本的 grails
  • 是否有解决方法让ghprb 插件与grails 插件一起工作?

标签: grails plugins jenkins


【解决方案1】:

我最终使用带有grailsw 调用的shell builder 而不是Grails plugin

【讨论】:

    【解决方案2】:

    好的,这是 grails 命令行工具中的一个错误。它将在 grails 2.4-RC1 中修复。 见Grails Issue Tracker

    【讨论】:

    • 它仍然存在于 Grails 2.4.3 中,并且看起来至少从 2.2.1 开始就存在,甚至可能更早。
    【解决方案3】:

    问题在于 Grails Plugin + Pull Request Builder Plugin 使它将构建参数从 PR Builder 插件传递给 grails 命令。生成时不需要带有空格的参数,在 Grails 插件中将这些参数传递给 grails 命令是某种默认设置。

    如果 Grails Plugin 上的 Grails Wrapper 对您不起作用,那么使用 Shell 命令而不是 Grails Plugin 对我有用:它避免了带空格的参数并使 GitHub 通知起作用。对于 grails 安装维护来说更糟糕,但至少它是一种替代方案。

    【讨论】:

      【解决方案4】:

      我提交了 PR https://github.com/jenkinsci/grails-plugin/pull/12 以通过禁止 -D 构建环境变量来解决此问题。

      我正在使用 Github 拉取请求构建器插件 https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin 运行 test-app,并且遇到了与其他人相同的问题。我没有使用 ghprb 插件传入的任何变量,所以我添加了一个选项来抑制 -D 构建环境变量。选中此选项时,不会将任何 -D 变量传递给 grails,从而允许使用 grails 插件进行构建按预期运行目标。

      如果你想测试它是否适合你,你可以从这里下载它http://jmoses.co/data/grails.hpi并手动安装它How to install a plugin in Jenkins manually?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-30
        • 2018-03-19
        • 2018-07-03
        相关资源
        最近更新 更多