【问题标题】:Using shell script to pass args to Java使用 shell 脚本将 args 传递给 Java
【发布时间】:2018-09-03 13:59:45
【问题描述】:

我有一个带有 gradle 的 Java 项目。这个项目有一个 main 方法。

我知道我可以使用 ./gradlew run 运行 main 方法,但我无法使用此函数将 args 传递给 Java main 方法

我想创建一个像 ./runMyCode 这样的单字 bash 脚本,它可以接受像 ./runMyCode hello.txt -f 这样的参数,最终将传递给 java 应用程序。

但是我无法做到这一点。请帮帮我...

【问题讨论】:

  • 我认为this 是您要找的。​​span>
  • 我有点不想使用 Pargs=... 或以某种方式将其伪装成 bash 脚本?
  • 您绝对可以将其隐藏在 bash 脚本中。 #!/bin/bash function join_by { local d=$1; shift; echo -n "$1"; shift; printf "%s" "${@/#/$d}"; } args=$(join_by "', '" $@) gradlew run -PappArgs="[\'$args\']" ./myscript arg1 arg2 将调用以下命令:gradlew run -PappArgs="['arg1', 'arg2']" 请注意,此方法需要 .gradle 文件中的特定运行任务。

标签: java bash gradle args


【解决方案1】:

你可以build an executable jar with gradle。那么你的runMyCode 脚本将如下所示:

#!/bin/bash

java -jar my-code.jar "$@"

您可以随意使用:./runMyCode hello.txt -f

【讨论】:

    猜你喜欢
    • 2014-08-22
    • 1970-01-01
    • 2018-08-14
    • 1970-01-01
    • 2012-11-18
    • 2020-01-11
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多