Grails如何处理插件依赖项
我正在创建一个Grails插件作为复杂产品的包装器.该产品与hibernate等其他产品有很多依赖关系.问题是,grails具有一些相同的依赖关系,但具有不同的版本.
例如. Grails – >休眠3.6.7 其他产品 – >休眠3.5.6 Grails如何处理插件依赖项? Grails是否为每个插件创建一个单独的ClassLoader?它是可配置的吗? 提前致谢!
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了解您可以使用的不同范围. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |