grails依赖报告后如何删除有罪jar文件

grails依赖报告后如何删除有罪jar文件,grails,jboss,Grails,Jboss,当我试图运行grails-Dgrails.env=localrunapp时,出现了以下错误 服务器无法启动:java.lang.LinkageError:加载程序约束冲突:加载程序(的实例)以前为名为“javax/management/MBeanServer”的其他类型启动加载 经过分析,我了解到这与“两个依赖项将同一个jar链接到不同版本”有关 我运行了grails依赖关系报告,下面是观察结果: commons beanutils by commons beanutils 1.8.3发布默认值

当我试图运行
grails-Dgrails.env=localrunapp
时,出现了以下错误

服务器无法启动:java.lang.LinkageError:加载程序约束冲突:加载程序(的实例)以前为名为“javax/management/MBeanServer”的其他类型启动加载

经过分析,我了解到这与“两个依赖项将同一个jar链接到不同版本”有关

我运行了
grails依赖关系报告
,下面是观察结果:

commons beanutils by commons beanutils 1.8.3发布默认值false 227 kB
commons beanutils by commons beanutils 1.8.0发行版默认值为0 kB(被1.8.3收回)


如何排除此jar或删除链接?

依赖关系报告应显示问题jar中的原因。一旦有了它,请在BuildConfig.groovy中显式地将其从依赖项中排除,如下所示:

grails.project.dependency.resolution = {
    dependencies {
        runtime("i-depend-on-beanutils-1.8.3") {
            excludes "beanutils"
        }
    }
}

下面是依赖关系报告输出:org.apache.shiro shiro core 1.1.0 default,compile,runtime,master 1.8.3 org.grails.internal wizard 0.1 default,compile 1.8.0那么我如何将1.8.3包含在这里作为运行时('org.apache.shiro:shiro core:1.8.3'){excludes('commons-beanutils'),它不工作对于shiro版本号来说应该是1.1.0,比如
runtime('org.apache.shiro:shiro-core:1.1.0'){excludes('commons-beanutils')}
仍然不走运:-(,为了确认我在这里包含了什么,它的组织、名称和运行时的修订,以及我包含的artifactOk中的排除项,我认为如果依赖项包含在插件中,那么您必须在
插件中配置它,而不是
依赖项
。尝试用
替换封闭的
依赖项
闭包>插件
,比如grails.project.dependency.resolution={plugins{runtime(`