You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Shell脚本向Gradle构建的Java项目传递运行参数?

解决Gradle项目中通过Bash脚本传递参数给Java主方法的问题

别担心,这个问题其实很好解决——Gradle的run任务本身就支持通过--args选项传递参数给Java主方法,我们只需要写一个简单的Bash脚本,把用户输入的参数直接转发过去就行。

步骤1:创建Bash脚本

在你的项目根目录(和gradlew同一层级)新建一个名为runMyCode的文件,写入以下内容:

#!/bin/bash
# 将脚本接收的所有参数转发给Gradle run任务的--args选项
./gradlew run --args="$*"

步骤2:给脚本添加执行权限

在终端里运行这条命令,让脚本具备可执行能力:

chmod +x runMyCode

步骤3:测试脚本

现在你就可以像预期那样传递参数了:

./runMyCode hello.txt -f

这条命令等价于直接执行:

./gradlew run --args="hello.txt -f"

你的Java主方法会顺利接收到hello.txt和-f这两个参数。

处理带空格的参数

如果你的参数里包含空格(比如文件名是my document.txt),直接用引号包裹参数即可,脚本会正确处理:

./runMyCode "my document.txt" -v

这会把my document.txt和-v完整传递给Java主方法。

进阶:更健壮的参数处理(可选)

如果你的参数里有特殊字符(比如引号、反斜杠),可以用printf确保参数被正确转义,修改脚本为:

#!/bin/bash
./gradlew run --args="$(printf "%q " "$@")"

这个版本能应对更复杂的参数场景,比如包含空格、引号或者其他特殊符号的参数。

内容的提问来源于stack exchange,提问作者Jofbr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:05:06