如何通过gradle更改java代码行?

如何通过gradle更改java代码行?,java,gradle,Java,Gradle,我正在使用java。每次运行代码时,我都希望它更改一行代码,以便它引用另一个类。我想知道是否可以通过格拉德做到这一点 public class test{ Drive x = new Drive(); } 在gradle文件中设置变量时,我希望gradle将驱动器更改为反向驱动器 运行build.gradle时,是否可以更改一行代码? 感谢您的帮助通常,您会将“生成”任务添加到build.gradle中,该任务会在$buildDir下的文件夹中生成.java文件(因此可以通过gradl

我正在使用java。每次运行代码时,我都希望它更改一行代码,以便它引用另一个类。我想知道是否可以通过格拉德做到这一点

public class test{
    Drive x = new Drive();
}
在gradle文件中设置变量时,我希望gradle将驱动器更改为反向驱动器

运行build.gradle时,是否可以更改一行代码?

感谢您的帮助

通常,您会将“生成”任务添加到
build.gradle
中,该任务会在
$buildDir
下的文件夹中生成
.java
文件(因此可以通过
gradle clean
将其删除)。您需要使用
task.dependsOn(…)
将任务连接到Gradle的任务中。我找到的最佳解决方案是在
src/template/java

例如:

src/template/java/foo/bar

package foo.bar;
public class MyClass {
     public static String getGeneratedValue() {
          return "${generatedValue}";
     }
}
build.gradle

apply plugin: 'java'
task generateJava(type: Copy) {
    from 'src/template/java'
    into "$buildDir/generated/java"
    expand ['generatedValue': '** generated value goes here **']
}
sourceSets.main.java {
    // add the generated dir to the main source set
    srcDir "$buildDir/generated/java"
}
compileJava.dependsOn generateJava // wire the task into the dag 

也看到


请您通过添加一个具体示例来澄清您的问题,这几乎肯定是一个XY问题。如果您描述了您选择的内容,我们可能会推荐一种方法。(请注意,通常情况下,您不会每次运行程序时都运行Gradle。)我同意这可能是一个错误