当前位置: 首页 > 知识库问答 >
问题:

如何在独立项目中覆盖由另一个插件提供的任务?分级

晁璞
2023-03-14
class Process extends DefaultTask {
    @TaskAction
    void process() {
        project.processResources {
           // I tried overriding this way with no prevail.
        }
    }
}

我希望在每次运行:boot:bootwar任务时运行重写版本(这是由Spring插件提供的)。

共有1个答案

杜弘光
2023-03-14

要重写/自定义Java插件提供的ProcessResources,首先必须:

  1. 查找/检索任务
  2. 配置任务

您目前试图做的是创建一个定制任务的任务,这是没有意义的。任务不自定义其他任务,它们执行可操作的操作,如执行测试。

import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.plugins.JavaPlugin;
import org.gradle.language.jvm.tasks.ProcessResources;

public class ExamplePlugin implements Plugin<Project> {
    @Override
    public void apply(Project project) {
        project.getTasks().named(JavaPlugin.PROCESS_RESOURCES_TASK_NAME, ProcessResources.class, (processResources) -> {
            processResources.from("....."); // configure the task in the lambda
        });
    }
}
 类似资料:
  • 在Groovy中,我重写了这样一个任务: 如何使用Kotlin dsl?我知道我可以创建这样的任务: 但是我找不到等价的方法来声明它为overwrite,这导致了一个错误

  • 问题内容: 在将一个人叠加到另一个人上时,我需要帮助。 我的代码如下所示: 不幸的是,我不能将或嵌套在第一个内部。 如图所示,它必须是两个单独的,但是我需要知道如何将放置在上方和最右侧,并以的顶部为中心。 问题答案: 我建议使用来了解和子元素。

  • 我正在构建一个定制的Java库。我把我的大部分“重复”代码都保存在那里,比如文件处理、字符串处理等。每次我想使用它们时,我都必须将该类复制并粘贴到我正在进行的其他项目中。有没有办法让这个自定义库类成为“依赖项”?我在用我的智能手机。

  • 我已准备好数据帧 我准备了 我想只覆盖Col2 row0,并尝试以下代码。 但是我得到了一个下面的错误。 索引错误:列表索引超出范围

  • 例如,我有一个插件:公共类PluginA实现plugin。 我会创建一个任务塔斯卡。现在我想设置:taska.dependson taskB,但是taskB是在pluginb中定义的。 有没有可能做到这一点,如果可以,如何做到?

  • 我有一个框架,第一个元素是一个ImageView,它的高度和宽度与父级匹配,让id为a。第二个元素也是一个ImageView,它的高度和宽度与父级匹配,让id为B。第三个元素是一个视图,它的高度和宽度都是100 dp,可以移动到整个屏幕上,让id为C。我在背景C中使用透明色,所以在C中我们应该看到B,因为B在a上面。但我想在C中显示a,我怎么做?