如何使用 Gradle 命令行参数更改代码变量



我们是高中机器人团队的学生。我们需要构建一个机器人,然后构建同一个机器人的另一个"副本"(所以我们有两个相同的机器人(。但是,机器人之间存在一些差异。例如,他们的车轮的摩擦系数有点不同。

我们有一个 Java 类保存第一个机器人的常量,另一个类保存第二个机器人的常量。两个机器人的所有其他代码都是相同的。 我们有一个布尔标志,指示我们现在要使用的常量集(对于第一个机器人或第二个机器人(。目前,每次我们要将代码部署到其中一个机器人时,我们都需要在代码中手动更改此标志。

我们用 Java 12 编写代码,并使用 Gradle 5.1.1 构建它。有没有办法将命令行参数与 Gradle 一起使用来更改有问题的标志? 假设在代码中的某个地方我们有这个标志,名为isFirstRobotUsed

public static final boolean isFirstRobotUsed = true;

有没有这样的代码构建选项:.gradlew build first.gradlew build second,这将更改代码内部的isFirstRobotUsed

多谢!

您的主要函数:

public static void main(String[] args)  {
System.out.println(args);
boolean firstRobotUsed = Boolean.valueOf(args[0]);
...
}

Your build.gradle

run {
if ( project.hasProperty("isFirstRobotUsed") ) {
args Eval.me(isFirstRobotUsed)
}
}

命令行提示符:

gradle run  -PisFirstRobotUsed="['true']"

或者,使用 -D JVM 系统参数(如以下链接:https://www.lesscoder.com/java/how-to-pass-arguments-to-gradle-run/(,您可以使用 System.getProperty(( 读取系统属性。

相关内容

  • 没有找到相关文章

最新更新