gpt4 book ai didi

grails - Grails 如何处理插件依赖

转载 作者:行者123 更新时间:2023-12-05 00:35:58 29 4
gpt4 key购买 nike

我正在创建一个 Grails 插件作为复杂产品的包装器。该产品对其他产品(如 hibernate)有很多依赖性。问题是,grails 有一些相同的依赖项,但版本不同。
例如。 Grails -> 休眠 3.6.7
其他产品 -> 休眠 3.5.6

Grails 如何处理插件依赖关系? Grails 是否为每个插件创建了一个单独的类加载器?可配置吗?

提前致谢!

最佳答案

Grails 有一个依赖解决机制,可以解决以下依赖之间的冲突:

  • Grails 本身
  • Grails 应用程序
  • 应用程序插件
  • 插件依赖项

  • 只需确保指定插件所依赖的内容,其余的让 Grails 的依赖项解析处理。 Grails 过去使用 Ivy 进行依赖项解析,但从 Grails 2.3.0 开始,默认值是 Maven/Aether,并且可以选择使用 Ivy。

    有时在应用程序中,您会想要覆盖依赖项解析所做的选择,例如排除传递依赖或强制使用特定的库版本,您可以在 BuildConfig.groovy 中完成所有这些操作

    像往常一样,Grails 引用文档非常全面地介绍了 this topic .

    更新

    除了您在下面的评论之外,如果您将 JAR 放在应用程序的 lib 目录中,它将被依赖项解析忽略并直接放置在您的类路径中。所以你通常不应该这样做。在 dependencies 中指定 JAR 及其版本 BuildConfig.groovy的部分反而。

    更新 2

    指定 JAR 的语法是
    <scope> <group>:<artifact>:<version>

    组、工件和版本共同标识您要下载的内容 (JAR),而范围指定您希望如何使用 JAR。查找特定 JAR 的组、工件和版本的最简单方法是访问 search a Maven repository .

    Read this了解您可以使用的不同范围。

    关于grails - Grails 如何处理插件依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837068/

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