【发布时间】: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 文件中的特定运行任务。