gpt4 book ai didi

java - 无法在自定义 gradle 插件实现中使用外部依赖项

转载 作者:行者123 更新时间:2023-12-02 03:39:57 25 4
gpt4 key购买 nike

当尝试在我正在构建的自定义 gradle 插件中使用外部依赖项时,我无法在任何方面导入或使用它们。

我尝试在构建脚本和正常依赖项闭包中指定我的依赖项。我正在使用 Gradle 5.5(包装脚本),并且正在使用 buildSrc 方法编写自定义 gradle 插件。

// Necessary if loading custom plugins
apply plugin: 'java-gradle-plugin'

buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.google.code.gson:gson:2.8.5'
}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'

group 'com.foo'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
mavenCentral()
jcenter()
}

gradlePlugin {
plugins {
greeterPlugin {
id = 'com.foo.dbcreation-plugin'
implementationClass = 'com.foo.dbcreation.DbCreation'
}
}
}

dependencies {
compile 'com.google.code.gson:gson:2.8.5'
}

最佳答案

我在这里看到了很多问题。

  1. buildscript 不控制插件实现的依赖项。
  2. 使用 plugins {} DSL block 来应用插件。这是首选方式:https://docs.gradle.org/current/userguide/plugins.html#sec:plugins_block
  3. 应该使用implementation而不是compile,因为compile已被弃用,如https://docs.gradle.org/current/userguide/java_plugin.html#tab:configurations中所述。

话虽如此,你的 Gradle 文件应该是这样的:

plugins {
id 'java-gradle-plugin'
id 'eclipse'
id 'idea'
}

group 'com.foo'

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
mavenCentral()
jcenter()
}

gradlePlugin {
plugins {
greeterPlugin {
id = 'com.foo.dbcreation-plugin'
implementationClass = 'com.foo.dbcreation.DbCreation'
}
}
}

dependencies {
implementation 'com.google.code.gson:gson:2.8.5'
}

关于java - 无法在自定义 gradle 插件实现中使用外部依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56841539/

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