当我尝试运行grails -Dgrails.env=local run-app
时,我收到了以下错误
服务器无法启动:java.lang.LinkageError:加载器约束违规:加载器(实例)先前为名称为“javax / management / MBeanServer”的其他类型加载
分析后我明白它与“两个依赖关系链接同一个不同版本的jar”有关
我跑了grails dependency-report
,这是观察:
commons-beanutils by commons-beanutils 1.8.3 release default false 227 kB
commons-beanutils by commons-beanutils 1.8.0 release default true 0 kB(evicted by 1.8.3)
如何排除此jar或删除链接?
答案 0 :(得分:1)
依赖性报告应该显示有问题的jar中的内容。完成后,将其明确地从BuildConfig.groovy中的依赖项中排除,如下所示:
grails.project.dependency.resolution = {
dependencies {
runtime("i-depend-on-beanutils-1.8.3") {
excludes "beanutils"
}
}
}