maven - Grails 3.2.9自定义插件依赖项

标签 maven grails gradle grails-3.0

是否可以使Grails 3中的一个自定义插件依赖于另一个自定义插件?这是我的项目结构:

  • grails3-home
  • myApp
  • customPlugin1
  • build.gradle
  • settings.gradle
  • customPlugin2 ...

  • 我想使customPlugin1依赖于customPlugin2。我读过的所有内容都表明,利用Grails 3中的应用程序和插件之间的多项目构建,这是可能的。而且我能够将两个插件都声明为myApp中的依赖项,而没有任何问题。但是,我没有成功使它在两个插件之间起作用。

    我已将以下行添加到customPlugin1> settings.gradle
    include "customPlugin2"
    

    并转到customPlugin1> build.gradle
    grails {
        plugins {
            compile project(':customPlugin2')
        }
    }
    

    但是,当我尝试构建customPlugin1时,出现以下错误:

    失败:生成失败,发生异常。
  • 出了什么问题:
    配置根项目“customPlugin1”时发生问题。

    Could not resolve all dependencies for configuration ':runtime'. Project : declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :customPlugin2.


  • 有谁知道我正在尝试做的事情是否可能,如果可以,我可能会丢失什么?

    更新:
    如果我将配置更改为
    include "../customPlugin2"
    


    grails {
        plugins {
            compile project(':../customPlugin2')
        }
    }
    

    插件构建成功,但是我不再能够将来自customPlugin2的域类导入到customPlugin1域类中

    最佳答案

    您应该在根settings.gradle中进行包含
    include 'myApp', 'customPlugin1', 'customPlugin2'
    然后在插件1中:

    grails {
        plugins {
            compile project(':customPlugin2')
        }
    }
    

    注意,这只是定义了一个依赖关系。如果您需要在插件1之前或之后加载插件2,则还需要在插件描述符中进行定义。

    关于maven - Grails 3.2.9自定义插件依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44266368/

    相关文章:

    gradle - 如何从编译中排除依赖项而不是从 testCompile 中排除依赖项

    AndroidStudio/gradle 找不到 javax.persistence 包

    android - 在Android Studio中导入Eclipse项目。 Gradle错误

    jakarta-ee - 在 IntelliJ 中为 Java EE 项目部署 Artifact ,什么是分解 Artifact

    maven - IntelliJ 没有引入 Grails 3 私有(private)依赖项

    Grails log4j SMTPAppender NoClassDefFoundError

    unit-testing - Grails-在单元测试中模拟servletContext

    node.js - `gulp` 进程完成后批处理脚本停止执行,不继续执行脚本的其余部分

    maven - 使用 pom 安装 Maven jar 到本地存储库

    java - 仅告诉 Grails 使用哪个 JDK