加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Grails如何处理插件依赖项

发布时间:2020-12-14 00:51:13 所属栏目:百科 来源:网络整理
导读:我正在创建一个Grails插件作为复杂产品的包装器.该产品与hibernate等其他产品有很多依赖关系.问题是,grails具有一些相同的依赖关系,但具有不同的版本. 例如. Grails – 休眠3.6.7 其他产品 – 休眠3.5.6 Grails如何处理插件依赖项? Grails是否为每个插件创
我正在创建一个Grails插件作为复杂产品的包装器.该产品与hibernate等其他产品有很多依赖关系.问题是,grails具有一些相同的依赖关系,但具有不同的版本.
例如. Grails – >休眠3.6.7
其他产品 – >休眠3.5.6

Grails如何处理插件依赖项? Grails是否为每个插件创建一个单独的ClassLoader?它是可配置的吗?

提前致谢!

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

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

只需确保指定插件所依赖的内容,并让Grails的依赖关系解决方案来处理其余部分. Grails历史上使用Ivy进行依赖性解析,但从Grails 2.3.0开始,默认是Maven / Aether,可以选择使用Ivy.

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

像往常一样,Grails参考文档提供了非常全面的this topic报道.

更新

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

更新2

指定JAR的语法是

<scope> <group>:<artifact>:<version>

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读