bulit-in gradle插件的版本号是多少? - java

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

plugins {
    `java-library`
    jacoco
    checkstyle
}

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

假定一个项目正在使用gradle 6.0和gradle包装器,但是系统已安装gradle 5.0。

问题:

如果我运行gradle wrapper ./gradlew build,将会执行gradle 6.0中的java插件。这是对还是错?
如果我运行系统gradle gradle build,将会执行gradle 5.0中的java插件。这是对还是错?
这些插件是捆绑到gradle发行版本身中,还是根据需要从gradle插件门户下载?
是否因为未设置插件版本而认为该构建不可复制(就像在Maven中一样)?
应该设置还是不使用插件版本的gradle最佳实践?

java大神给出的解决方案

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

从插件门户托管和检索社区插件。必须在标准插件ID和版本中提供它们。

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

Using Gradle Plugins
Interface PluginDependenciesSpec

如果我运行gradle wrapper ./gradlew build,将会执行gradle 6.0中的java插件。这是对还是错?

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

如果我运行系统gradle gradle build,将会执行gradle 5.0中的java插件。这是对还是错?

真正。

这些插件是捆绑到gradle发行版本身中,还是根据需要从gradle插件门户下载?

捆绑,如前所述。

是否因为未设置插件版本而认为该构建不可复制(就像在Maven中一样)?

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

应该设置还是不使用插件版本的gradle最佳实践?

如前所述,这里您别无选择。核心插件不得定义版本,而社区插件必须与版本兼容。

“公共静态最终长USER_ACCOUNT = 32L”是什么意思?后缀L在long变量中意味着什么? - java

我在这里找到了代码片段public static final long USER_ACCOUNT = 32L; 32L在这里是什么意思?这是否意味着仅具有数字值long的32变量还是意味着long将需要32位值?如果我不提供后面的L数字32结尾怎么办? java大神给出的解决方案 在Java中编写长文字时,需要使用“ L”后缀。 (您可以使用小写的“ l”,…

DataSourceTransactionManager和JndiObjectFactoryBean和JdbcTemplate的用途是什么? - java

以下的用途是什么:org.springframework.jdbc.core.JdbcTemplate org.springframework.jdbc.datasource.DataSourceTransactionManager org.springframework.jndi.JndiObjectFactoryBean <tx:annotatio…

Java API中是否有等效于.Net框架的Random.Next(Int32,Int32)? - random

我正在将现有的VB.Net应用程序移植到Java,找不到与Random.Next(Int32,Int32)等效的文件。我在Java API中只能找到java.util.Random.next(int val)。Java API中是否有等效于.Net框架的Random.Next(Int32,Int32)? random大神给出的解决方案 正如Marc所说,只需…