当前位置: 首页 > 知识库问答 >
问题:

在kotlin gradle dsl中外部化插件版本?

高皓
2023-03-14

我想外部化插件版本。

我试过了

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

object DependencyVersions {
    const val SPRING_BOOT_VERSION = "2.1.6.RELEASE"
    const val DEPENDENCY_MANAGEMENT_VERSION = "1.0.8.RELEASE"
}

plugins {
    id("org.springframework.boot") version DependencyVersions.SPRING_BOOT_VERSION
    id("io.spring.dependency-management") version DependencyVersions.DEPENDENCY_MANAGEMENT_VERSION
}

但是我得到了一个未解析的引用:DependencyVersions

共有1个答案

支淮晨
2023-03-14

直到最近,Gradle API仍然如此,但最近才得到修复。请参阅插件部分中有关版本变量的此问题。在 Kotlin DSL 中解决此问题时存在一个未解决的问题。

解决这个问题的唯一方法是用PluginResolutionStrategy设置版本,正如在同一期的< code>settings.gradle中所建议的:

pluginManagement {
resolutionStrategy {
    eachPlugin {
        if (requested.version == null) {
            def pluginName = requested.id.name.split('-').collect { it.capitalize() }.join().uncapitalize()
            def versionPropertyName = (requested.id.id == 'org.jetbrains.kotlin.jvm') ?
                    "kotlinPluginVersion" : "${pluginName}PluginVersion"
            logger.info("Checking for plugin version property '$versionPropertyName'.")
            if (gradle.rootProject.hasProperty(versionPropertyName)) {
                def version = gradle.rootProject.properties[versionPropertyName]
                logger.info("Setting '${requested.id.id}' plugin version to $version.")
                useVersion version
            } else {
                logger.warn("No version specified for plugin '${requested.id.id}' and property " +
                        "'$versionPropertyName' does not exist.")
            }
        }
    }
}}

并在gradle中添加一个插件名后缀为“Version”的属性。属性,例如“jacksonVersion”。

 类似资料:
  • 问题内容: 我正在创建一个eclipse插件,并且在使用外部jar时遇到了麻烦。在我的插件中,我启动一个需要一些外部jar的应用程序。我如何做才能与其余插件一起自动导出它们? 提前致谢 :) 问题答案: 打开你的 转到选项卡,然后在类路径部分中添加您的JAR

  • 我用CRA建立了一个React项目。我需要使用一个使用jquery构建的插件。它是一个日期选择器,但它使用的日历是Bikram Sambat。日期选择器代码的链接是尼泊尔日期选择器。我已经做了以下工作: 公共/index.html 配置组件 日期选择器没有出现。

  • Illuminatiiiiii发布的服务器命令:/fakeop[21:33:10 ERROR]:null org.bukkit.command.commandexception:未处理的异常在org.bukkit.command.plugincommand.execute(plugincommand.java:46)~[spigot-1.10.2.jar:git-spigot-5391d73-00

  • 和以下依赖项: 现在伐木对我来说很好。但现在我正在尝试将文件移到war文件之外,这样就不必更改war文件来更改日志级别。我试图将文件移动到。我找不到指定文件路径的方法,该路径将是${catalina.base}/conf/logback.xml。我发现了一些类似的问题,但我可以找到一个可以使用的解决方案:使用application.properties和logback Externalizatio

  • 当我运行类似-的任何Gradle任务时,它都会失败,并出现错误- 但是,如果我在项目的主文件中定义相同的配置和插件,它就可以正常工作。 我已经花了3-4个小时调试它,阅读了各种文章、博客和文档- https://plugins.gradle.org/plugin/com.jfrog.artifactory 用ArtiFactory分级 https://github.com/gradle/gradl

  • 以下是由中国 Home Assistant 爱好者开发的组件,部分自定义组件未提交至 Home Assistant 官方 repository,请大家支持国人开发者,为项目点个赞。 小米空调伴侣插件 插件地址:https://github.com/mac-zhou/homeassistant-mi-acpartner 作者:mac_zhou 使用方法详见 小米组件页 小米净水器及米家 pm 2.5