【问题标题】:How use GetOpt and LongOpt with gradle?如何在 gradle 中使用 GetOpt 和 LongOpt?
【发布时间】:2014-11-20 19:00:01
【问题描述】:

在我的项目中,基于 Gradle,我需要解析命令行并获取选项“-foo=...”。 我尝试使用 Getopt,但我无法理解一些事情:

我需要使用 LongOpt 从命令行读取“-foo”吗? 如何使用“gradle run”命令将参数传递给命令行?

附言对不起我的英语不好

【问题讨论】:

    标签: java gradle getopt


    【解决方案1】:

    gradle run 旨在启动不带任何参数的应用程序。如果你的论点很简单,你可以解决这个问题。

    例如:

    apply plugin: 'application'
    
    run {
       if (project.hasProperty("runArgs")) {
          args project.runArgs.split()
       }
    }
    

    使用gradle run -PrunArgs="arg1 arg2 arg3" 运行它

    这输入起来很麻烦,如果你的参数需要转义或有空格,这将更难处理。那时,我建议只运行 gradle installApp,然后运行适当的启动脚本 (build/install/<app>/bin/<app> arg1 arg2 arg3)。

    你当然可以做一些更精细的事情:http://forums.gradle.org/gradle/topics/how_can_i_provide_command_line_args_to_application_started_with_gradle_run

    【讨论】:

      【解决方案2】:

      使用

      gradle -q -Pfoo=bar printProps
      

      在 build.gradle 中

      task printProps << {
          println foo
      }
      

      输出

      bar
      

      一个例子here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-05-29
        • 1970-01-01
        • 1970-01-01
        • 2015-01-03
        • 2019-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多