这是我的意见:
Main.java
package com;
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("greeting.language"));
}
}
Run Code Online (Sandbox Code Playgroud)
的build.gradle
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.7
version = '1.0'
mainClassName = "com.Main"
applicationDefaultJvmArgs = ["-Dgreeting.language=en"]
Run Code Online (Sandbox Code Playgroud)
我的问题:如何配置另一个运行任务配置以使用不同的jvm参数,例如:-Dgreeting.language = ch.
我从maven搬到gradle,所以对于这种情况我会使用maven配置文件.gradle中是否有任何与配置文件相对应的结构?
更新1
让我澄清一点任务.我的项目比上面给出的例子复杂得多.我想有一组gradle任务(或者profile /或者在gradle中调用的任何东西),每个任务都应该是自包含的自定义变量集.作为输出,我想有一套gradle任务:
gradle <enableAllFeatures>
gradle <disableFeatureA>
...
Run Code Online (Sandbox Code Playgroud)
这些变量不是JvmArgs的要求.它可以是常量(或者任何可能的gradle)但是需要具有不同的任务,并且每个任务都应该指定它自己的一组变量
更新2
我在网上冲浪,发现非常有趣的话题 - gradle构建变种,但它似乎只适用于android项目.是否可以在java项目中使用构建变体?
像这样参数化语言:
applicationDefaultJvmArgs = ["-Dgreeting.language=${language}"]
Run Code Online (Sandbox Code Playgroud)
然后,当您运行 Gradle 时,使用 -P 选项将语言作为参数传递:
$ gradle -Planguage=en tasks
Run Code Online (Sandbox Code Playgroud)
或者
$ gradle -Planguage=ch tasks
Run Code Online (Sandbox Code Playgroud)
参考
| 归档时间: |
|
| 查看次数: |
2806 次 |
| 最近记录: |