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

带有Kotlin DSL的Gradle全局插件库

闻人吕恭
2023-03-14

我是新的Gradle,但需要建立一个开源项目,使用它,从我的机器上的公司网络。该项目最近转移到静态编程语言DSL,因此需要一些插件。

我需要使用我们的corporate Nexus服务器获取插件依赖项,我希望全局设置,因为我不想修改设置。格拉德尔。kts在所有项目中(我已经尝试过了,而且效果很好)

如果我想在全球范围内这样做,我从https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_management我需要一个init。格拉德尔。我的USER\u HOME/中的kts文件。gradle目录。我就是这么做的,下面是文件的内容:

    settingsEvaluated { settings ->
            settings.pluginManagement {
                repositories {
                    mavenLocal()
                    maven("https://my_corporate_nexus/")
                }
            }
    }

但当我触发构建时,我得到的是:

* What went wrong:
Script compilation errors:

  Line 1: settingsEvaluated { settings ->
          ^ None of the following functions can be called with the arguments supplied:
              public open fun settingsEvaluated(p0: Closure<(raw) Any!>): Unit defined in Init_gradle
              public open fun settingsEvaluated(p0: Action<in Settings!>): Unit defined in Init_gradle
              public final fun settingsEvaluated(p0: Settings!.() -> Unit): Unit defined in Init_gradle

以下是我的版本详细信息,由gradle-v提供:

  • 梯度4.9
  • 科特林DSL:0.18.4
  • 科特林:1.2.41
  • Groovy:2.4.12

所以看起来我明显错过了什么。

知道可能是什么吗?

共有1个答案

公羊新
2023-03-14

它似乎与:

settingsEvaluated {
        settings.pluginManagement {
            repositories {
                mavenLocal()
                maven("https://my_corporate_nexus/")
            }
        }
}

没有设置-

我不确定是否留档是错误的,或者如果我的设置是特定的,虽然...

 类似资料:
  • 我部署了一个定义了远程EJB的全局模块,但我无法从部署的应用程序访问它们。 以下是界面: 既然默认的@Ejb找不到bean,我如何找到部署的Ejb的jndi名称?值得一提的是,jboss cli中的/subsystem=naming:jndi-view()没有打印任何关于已部署模块的信息,并且在wildfly日志中没有错误。 也许,在全局模块中定义可注入ejbs是不可能的?

  • 多模块项目具有具有以下依赖关系的模块:web- 我在web模块中添加了sping-boo-gradle-plugin: 当SpringBootGradle插件下载旧的hibernate版本时,我在持久性模块中有重复的版本。 形象 我尝试覆盖web模块中的hibernate依赖项,它正在工作: 形象 为什么插件下载旧的Hibernate版本?是否有任何可能排除旧的Hibernate版本从sping-

  • 我正在尝试使用IntelliJ中新的android gradle插件,但我似乎无法使用新的gradle插件构建我的项目。 [更新]经过一些更多的研究,我发现从另一个SO问题,IntelliJ没有跟上android gradle插件。AS和IntelliJ之间有一些延迟。更多信息可以在这里找到:IntelliJ idea中包含的Android插件版本是什么?在@Scott Barta的回应上。 看起

  • 问题内容: 有什么方法可以简单地为gradle设置全局的,系统范围的代理? 是的,我知道 当前 文件中有.etc设置,但它仅在实际项目中有效。但 __ 我不会在每个gradle项目中都进行设置 而且由于我的本地网络配置,我不会更改项目的源代码。 那么,是否有任何“ global gradle.properties”文件? 问题答案: 是的,似乎有可能。见这里,尤其是: 我们可以定义一个文件并在该文

  • 主要内容:插件类型,应用插件,编写自定义插件,从构建获取输入,标准Gradle插件插件只是一组任务,几乎所有的任务,如编译任务,设置域对象,设置源文件等都由插件处理。 插件类型 Gradle中有两种类型的插件:脚本插件和二进制插件。 脚本插件是一个额外的构建脚本,它提供了一种声明性方法来操作构建,通常在构建中使用。 二进制插件是实现插件接口并采用编程方法来操作构建的类。二进制插件可以驻留在插件JAR中的一个构建脚本和项目层次结构或外部。 应用插件 Project.apply()