Grails如何处理插件依赖关系
我正在创建一个Grails插件作为复杂产品的包装器。该产品与其他产品(如hibernate)有很多依赖关系。问题是,grails有一些相同的依赖项,但版本不同。 例如Grails->hibernate 3.6.7 其他产品->hibernate 3.5.6 Grails如何处理插件依赖关系?Grails是否为每个插件创建单独的类加载器?它是可配置的吗Grails如何处理插件依赖关系,grails,classloader,Grails,Classloader,我正在创建一个Grails插件作为复杂产品的包装器。该产品与其他产品(如hibernate)有很多依赖关系。问题是,grails有一些相同的依赖项,但版本不同。 例如Grails->hibernate 3.6.7 其他产品->hibernate 3.5.6 Grails如何处理插件依赖关系?Grails是否为每个插件创建单独的类加载器?它是可配置的吗 提前谢谢 Grails有一个依赖项解决机制,可以解决以下依赖项之间的冲突: 圣杯本身 Grails应用程序 应用程序的插件 插件依赖关系 只需
提前谢谢 Grails有一个依赖项解决机制,可以解决以下依赖项之间的冲突:
- 圣杯本身
- Grails应用程序
- 应用程序的插件
- 插件依赖关系
BuildConfig.groovy
与往常一样,Grails参考文档提供了非常全面的关于
更新
在下面的注释之后,如果将JAR放在应用程序的lib目录中,依赖项解析将忽略它,并将其直接放在类路径上。所以你通常不应该这样做。改为在BuildConfig.groovy
的dependencies
部分指定JAR及其版本
更新2
指定JAR的语法是
<scope> <group>:<artifact>:<version>
:
了解您可以使用的不同作用域。谢谢您的回复。如果我将jar文件放在grails应用程序/插件的lib目录中,那么由于版本不一致,应用程序不会启动。在dependencies描述中,有一个虚拟条目runtime'mysql:mysql connector java:5.1.18'
-看起来不像jar的名称。你能给出一个如何指定jar的提示吗?文档很好,但我感觉没有maven的知识,我仍然迷路了…谢谢更新。我还有一些悬而未决的问题——你介意看看吗?我很困惑,沃尔德马尔和拉尔夫是同一个人吗?嗨,唐,拉尔夫是我的同事。所以我们经常遇到同样的问题