build.gradle buildscript 依赖与依赖?
build.gradle buildscript dependencies vs. dependencies?
谁能给我解释一下 build.gradle 文件中 "buildscript" 中列出的依赖项与依赖项块 { } 中列出的常规依赖项有何不同?以及为什么必须使用语法 "implementation" 列出它们?我用谷歌搜索了这个,回复说构建脚本中的依赖关系并习惯于 "build the project" 但我不明白这个?谁能给个更清楚的图和答案?
构建脚本:
buildscript
{
repositories
{
maven {
url 'myMavenFeed'
credentials {
username "myUsername"
password myPassword
}
}
mavenCentral()
jcenter()
}
dependencies
{
classpath "com.microsoft.azure.sdk.iot:iot-device-client:1.14.1"
}
}
依赖块:
dependencies
{
compile group: 'com.microsoft.azure.sdk.iot', name: 'iot-device-client', version: '1.16.0'
}
Can someone explain to me how depedencies listed in the "buildscript" in the build.gradle file are different than regular dependencies listed in the dependencies block { } ?
buildscript { }
块中定义的依赖项是用于构建项目的依赖项。这些依赖项可用于您的 Gradle 构建文件(build.gradle
或 build.gradle.kts
)
dependencies { }
中定义的依赖项用于您的 应用程序 代码。
因此对于您问题中的示例,Gradle(构建系统)在其 class 路径上具有 iot-device-client
是否有意义?为什么构建系统在其 class 路径上需要 iot-device-client
来构建您的项目?它没有意义,因此应将其删除。
现在假设您正在开发一个应用程序,它需要 iot-device-client
的某些功能或 class。您需要一种方法将此库添加到应用程序的 code/classpath。然后你像上面所做的那样将它声明为依赖项:
dependencies {
implementation("com.microsoft.azure.sdk.iot:iot-device-client:1.16.0")
}
参考文献:
and why they have to be listed with the syntax "implementation"?
implementation
被称为 configuration:A Configuration
代表一组工件及其依赖项
根据您应用于项目的插件,还有更多配置。例如,如果您应用 Java plugin:
plugins {
id("java")
}
以下配置可供使用:
- 实施
- 只编译
- 编译类路径
- ...还有更多
每个人都有自己的 meaning/usage,我强烈建议阅读它们 here。
谁能给我解释一下 build.gradle 文件中 "buildscript" 中列出的依赖项与依赖项块 { } 中列出的常规依赖项有何不同?以及为什么必须使用语法 "implementation" 列出它们?我用谷歌搜索了这个,回复说构建脚本中的依赖关系并习惯于 "build the project" 但我不明白这个?谁能给个更清楚的图和答案?
构建脚本:
buildscript
{
repositories
{
maven {
url 'myMavenFeed'
credentials {
username "myUsername"
password myPassword
}
}
mavenCentral()
jcenter()
}
dependencies
{
classpath "com.microsoft.azure.sdk.iot:iot-device-client:1.14.1"
}
}
依赖块:
dependencies
{
compile group: 'com.microsoft.azure.sdk.iot', name: 'iot-device-client', version: '1.16.0'
}
Can someone explain to me how depedencies listed in the "buildscript" in the build.gradle file are different than regular dependencies listed in the dependencies block { } ?
buildscript { }
块中定义的依赖项是用于构建项目的依赖项。这些依赖项可用于您的 Gradle 构建文件(build.gradle
或 build.gradle.kts
)
dependencies { }
中定义的依赖项用于您的 应用程序 代码。
因此对于您问题中的示例,Gradle(构建系统)在其 class 路径上具有 iot-device-client
是否有意义?为什么构建系统在其 class 路径上需要 iot-device-client
来构建您的项目?它没有意义,因此应将其删除。
现在假设您正在开发一个应用程序,它需要 iot-device-client
的某些功能或 class。您需要一种方法将此库添加到应用程序的 code/classpath。然后你像上面所做的那样将它声明为依赖项:
dependencies {
implementation("com.microsoft.azure.sdk.iot:iot-device-client:1.16.0")
}
参考文献:
and why they have to be listed with the syntax "implementation"?
implementation
被称为 configuration:A Configuration
代表一组工件及其依赖项
根据您应用于项目的插件,还有更多配置。例如,如果您应用 Java plugin:
plugins {
id("java")
}
以下配置可供使用:
- 实施
- 只编译
- 编译类路径
- ...还有更多
每个人都有自己的 meaning/usage,我强烈建议阅读它们 here。