Gradle 运行 具有不同属性的配置
Gradle run configurations with different properties
这是我的输入:
Main.java
package com;
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("greeting.language"));
}
}
build.gradle
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.7
version = '1.0'
mainClassName = "com.Main"
applicationDefaultJvmArgs = ["-Dgreeting.language=en"]
我的问题:如何配置另一个 运行 任务配置以使用不同的 jvm 参数,例如:-Dgreeting.language=ch。
我从 maven 转移到 gradle,所以对于这种情况我会使用 maven 配置文件。 gradle 中是否有对应于配置文件的结构?
更新 1
让我稍微澄清一下任务。我的项目比我上面给出的例子复杂得多。我想要一组 gradle 任务(或 profiles/or 无论它在 gradle 中被称为什么),每个任务都应该自包含自定义变量集。作为输出,我想要一组 gradle 任务:
gradle <enableAllFeatures>
gradle <disableFeatureA>
...
这些变量不是 JvmArgs 的要求。它可以是常量(或 gradle 中可能的任何值),但要求有不同的任务,并且每个任务应指定它自己的一组变量
更新 2
我在网上冲浪,发现了一个非常有趣的话题——gradle build variants,但它似乎只适用于 android 项目。是否可以在 java 个项目中使用构建变体?
像这样参数化语言:
applicationDefaultJvmArgs = ["-Dgreeting.language=${language}"]
然后当您 运行 Gradle 时,使用 -P 选项将语言作为参数传递:
$ gradle -Planguage=en tasks
或
$ gradle -Planguage=ch tasks
参考资料
Gradle Goodness: Using Properties for Multiple Environments or Profiles
这是我的输入:
Main.java
package com;
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("greeting.language"));
}
}
build.gradle
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.7
version = '1.0'
mainClassName = "com.Main"
applicationDefaultJvmArgs = ["-Dgreeting.language=en"]
我的问题:如何配置另一个 运行 任务配置以使用不同的 jvm 参数,例如:-Dgreeting.language=ch。
我从 maven 转移到 gradle,所以对于这种情况我会使用 maven 配置文件。 gradle 中是否有对应于配置文件的结构?
更新 1
让我稍微澄清一下任务。我的项目比我上面给出的例子复杂得多。我想要一组 gradle 任务(或 profiles/or 无论它在 gradle 中被称为什么),每个任务都应该自包含自定义变量集。作为输出,我想要一组 gradle 任务:
gradle <enableAllFeatures>
gradle <disableFeatureA>
...
这些变量不是 JvmArgs 的要求。它可以是常量(或 gradle 中可能的任何值),但要求有不同的任务,并且每个任务应指定它自己的一组变量
更新 2
我在网上冲浪,发现了一个非常有趣的话题——gradle build variants,但它似乎只适用于 android 项目。是否可以在 java 个项目中使用构建变体?
像这样参数化语言:
applicationDefaultJvmArgs = ["-Dgreeting.language=${language}"]
然后当您 运行 Gradle 时,使用 -P 选项将语言作为参数传递:
$ gradle -Planguage=en tasks
或
$ gradle -Planguage=ch tasks
参考资料
Gradle Goodness: Using Properties for Multiple Environments or Profiles