在gradle中添加compileJava任务的插件

时间:2020-04-25 14:41:50

标签: java gradle

我是Java的新手,它是构建工具。在build.gradle文件中,我没有在插件下看到java或javalibrary id,这让我想,以下哪个插件导致创建CompileJava任务(或称为Java插件),我在{{ 1}}如下

build.gradle

基于这些阅读,我不认为plugins { id "jacoco" id "org.springframework.boot" version "1.5.22.RELEASE" id "com.abc.tools.aws.build.docker" version "2.0.2" id "com.abc.tools.aws.build.abb-bom-management" version "2.0.2" id "com.abc.tools.aws.build.microservice" version "2.0.2" } 的任务之一就是编译Java。

2 个答案:

答案 0 :(得分:2)

Gradle中的插件可以将 1 其他插件应用于项目,因为gradle project也是PluginAware对象。

我的猜测是org.springframework.boot是应用java插件的那个。

确实,我刚刚检查了一下,they do应用了插件

请注意,插件do not do this的更高版本。如果您不满意,最好更新您使用的版本,但是更高版本将需要gradle的更高版本。 ,因此请明智地升级。

1。 IMO,他们不应该这样做,应该依靠使用PluginManager.withPlugin方法

答案 1 :(得分:1)

Java插件将Java编译以及测试和捆绑功能以及compileJavatestjar等任务添加到项目中。有关here的更多信息。

plugins {
    id 'java'
}

Jacoco是用于test coverage reporting的插件。

没有明确的方法可以从每个插件获取完整的任务列表,但是您可以在应用每个插件后打印任务差异,以查看插件列表的更改方式。

build.gradle

def tasksBefore = [], tasksAfter = []    
project.tasks.each { tasksBefore.add(it.name) } // get all tasks

apply(plugin: 'jacoco') // apply plugin

project.tasks.each { tasksAfter.add(it.name) } // get all tasks
tasksAfter.removeAll(tasksBefore); // get the difference

println 'jacoco tasks: ' + tasksAfter;
相关问题