gpt4 book ai didi

java - 在类中读取命令行 gradle vars

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:04 25 4
gpt4 key购买 nike

在我的 build.gradle 中我有一个任务:

run {
dependsOn ':jar'
args = [ 'run', project.mainVerticleName, '-cluster', "-launcher-class=$mainClassName", '-Denvironment=development' ]
}

我想指定命令行参数并在类里面阅读它们。

我试过:

.\gradlew.bat run -Dhttpport=8825 -Phttpport=8825

但是我类的台词:

log.info "port = ${System.getProperty( 'httpport' )}"
log.info "port = ${System.getenv( 'httpport' )}"

记录两种情况下的 null

我错过了什么?

最佳答案

这个:

.\gradlew.bat run -Dhttpport=8825

您正在将系统属性 传递给 gradle 本身,而不是传递给它将启动的进程。要使其以这种方式工作,您需要按如下方式配置 run:

run {
dependsOn ':jar'
args = [ 'run', project.mainVerticleName, '-cluster', "-launcher-class=$mainClassName", '-Denvironment=development' ]
systemProperties System.properties
}

和:

.\gradlew.bat run -Dhttpport=8825

您还可以使用项目属性 (-P) 配置系统属性,因此:

run {
dependsOn ':jar'
args = [ 'run', project.mainVerticleName, '-cluster', "-launcher-class=$mainClassName", '-Denvironment=development' ]
systemProperties [httpport:project.httpport]
}

然后:

.\gradlew.bat run -Phttpport=8825

关于java - 在类中读取命令行 gradle vars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46933911/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com