gpt4 book ai didi

java - 内置 gradle 插件的版本号是多少?

转载 作者:行者123 更新时间:2023-12-03 05:08:54 26 4
gpt4 key购买 nike

在我的 gradle 构建文件中,我有以下插件 block

plugins {
`java-library`
jacoco
checkstyle
}

这些都没有指定版本,但一切正常。

假设项目使用 gradle 6.0 和 gradle 包装器,但系统安装了 gradle 5.0。

问题:

  • 如果我运行 gradle 包装器 ./gradlew build 则会执行 gradle 6.0 中的 java 插件。这是真的还是假的?
  • 如果我运行系统 gradle gradle build 则会执行 gradle 5.0 中的 java 插件。这是真的还是假的?
  • 这些插件是捆绑到 gradle 发行版本身中还是按需从 gradle 插件门户下载?
  • 由于未设置插件版本,构建是否被认为是不可重现的(就像在 Maven 中一样)?
  • 关于插件版本的 gradle 最佳实践是什么(应该设置还是取消)?

最佳答案

Gradle 区分核心社区插件。核心插件内置于 Gradle 发行版中,可以通过其非限定短名称(“java”与“org.gradle.java”)来引用。它们不是从插件门户检索的。核心插件不得包含版本约束( Javadoc Reference )。查找核心插件列表here

社区插件是从插件门户托管和检索的。它们必须在完全限定的插件 ID 中与版本一起给出。

在这些指南中了解有关插件的更多信息:

If I run gradle wrapper ./gradlew build the java plugin from gradle 6.0 will be executed. Is this true or false?

确实如此,因为 Gradle Wrapper 确保构建使用指定的 Gradle 版本运行,并且核心插件与发行版捆绑在一起。

If I run system gradle gradle build the java plugin from gradle 5.0 will be executed. Is this true or false?

确实。

Are these plugins bundled into the gradle distribution itself or are they downloaded from the gradle plugin portal on demand?

如前所述,捆绑。

Is the build considered to be non-reproducible (like it is in maven) because the plugin versions were not set?

只要使用相同的 Gradle 版本,构建就可以被认为是可重现的,因为核心插件与发行版捆绑在一起。

What are the gradle best practices around plugin versions should they be set or left off?

正如前面所解释的,您在这里没有选择。核心插件不得定义版本,而社区插件必须定义版本。

关于java - 内置 gradle 插件的版本号是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com