Intellij:定义要用于所有新 Java 项目的默认任务



对于我拥有的几乎每个Java项目,我都定义了一个新的Gradle任务来构建一个带有javadocs的jar。具体来说,我几乎在每个build.gradle中添加以下内容:

task jarJavadoc(type: Jar, dependsOn: ['javadoc']) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives jarJavadoc
}

有没有办法配置 Intellij,以便它自动将这些行添加到每个新的 Gradle Java 项目中?

我认为您可以探索几个选项:

  • 首先是在GRADLE_HOME目录中创建一个 gradle 文件(例如 init.gradle((例如 ~/.gradle/(,并在那里定义公共部分。在处理构建脚本时,Gradle 始终会先应用这些文件。请注意,您在那里配置的所有内容都将在 您机器上的每个 Gradle 项目。这意味着例如,如果您依赖 在 Java 插件上(就像您在提供的示例中所做的那样(并创建 其他不依赖于Java的项目,这种方法可能会产生 配置错误,因此请谨慎使用。

  • 您可以编写一个简单的 Gradle 插件,将您需要的常见任务添加到项目中。使用此方法,您仍然需要复制apply plugin: 'your plugin'

  • 您可以利用文件和代码模板并更新 Gradle 构建脚本模板以包含通用代码。
  • 您还可以混合最后 2 个示例并编写一个插件来配置常见任务并修改 Gradle 构建脚本模板以包含您的插件。

你可以应用nebula.javadoc-jar插件。

例如:

plugins {
id 'nebula.javadoc-jar' version '5.1.0'
}

最新更新