Java Grails没有拾取修补过的jar文件

Java Grails没有拾取修补过的jar文件,java,hibernate,grails,grails-2.0,datastore,Java,Hibernate,Grails,Grails 2.0,Datastore,我正在从事Grails2.0.3项目。在路上,我注意到Grails2.0.3的以下依赖项:org.grails:grails datastore core:1.1.4.RELEASE有一个bug。因此,我修补了jar文件并将其放在grails的lib文件夹中。在BuildConfig.groovy中,排除了GrailsJAR文件,并给出了我自己的依赖项,如下所示 inherits("global") { excludes "grails-datastore-core" } depend

我正在从事Grails2.0.3项目。在路上,我注意到Grails2.0.3的以下依赖项:org.grails:grails datastore core:1.1.4.RELEASE有一个bug。因此,我修补了jar文件并将其放在grails的lib文件夹中。在BuildConfig.groovy中,排除了GrailsJAR文件,并给出了我自己的依赖项,如下所示

inherits("global") {
    excludes "grails-datastore-core"
}

dependencies {
    compile 'org.grails:grails-datastore-core:1.1.4.RELEASE'
}
然后运行以下步骤:

  • 圣杯清洁
  • grails编译--刷新依赖项
  • grails run应用程序
但出现以下错误:

2013-06-05 16:39:14,613 20831 ERROR     [org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager] (pool-7-thread-1:) Error configuring dynamic methods for plugin [domainClass:2.0.3]: java.lang.NoClassDefFoundError: org/grails/datastore/mapping/core/SoftThreadLocalMap
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: org/grails/datastore/mapping/core/SoftThreadLocalMap
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.NoClassDefFoundError: org/grails/datastore/mapping/core/SoftThreadLocalMap
at org.grails.datastore.mapping.core.AbstractDatastore.<clinit>(AbstractDatastore.java:46)
at java.lang.Class.forName(Class.java:171)
... 5 more
Caused by: java.lang.ClassNotFoundException: org.grails.datastore.mapping.core.SoftThreadLocalMap
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 7 more
2013-06-05 16:39:14,714 20932 ERROR [org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager] (pool-7-thread-1:) Error configuring dynamic methods for plugin [hibernate:2.0.3]: java.lang.NoClassDefFoundError:     org.grails.datastore.mapping.core.AbstractDatastore
org.codehaus.groovy.runtime.InvokerInvocationException: java.lang.NoClassDefFoundError: org.grails.datastore.mapping.core.AbstractDatastore
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.NoClassDefFoundError: org.grails.datastore.mapping.core.AbstractDatastore
at java.lang.Class.forName(Class.java:171)
... 5 more
2013-06-05 16:39:14613 20831错误[org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager](pool-7-thread-1:)为插件配置动态方法时出错[domainClass:2.0.3]:java.lang.NoClassDefFoundError:org/grails/datastore/mapping/core/SoftThreadLocalMap
org.codehaus.groovy.runtime.InvokerInvocationException:java.lang.NoClassDefFoundError:org/grails/datastore/mapping/core/SoftThreadLocalMap
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
位于java.util.concurrent.FutureTask.run(FutureTask.java:138)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
运行(Thread.java:680)
原因:java.lang.NoClassDefFoundError:org/grails/datastore/mapping/core/SoftThreadLocalMap
位于org.grails.datastore.mapping.core.AbstractDatastore。(AbstractDatastore.java:46)
位于java.lang.Class.forName(Class.java:171)
... 还有5个
原因:java.lang.ClassNotFoundException:org.grails.datastore.mapping.core.SoftThreadLocalMap
位于java.net.URLClassLoader$1.run(URLClassLoader.java:202)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:190)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:306)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 还有7个
2013-06-05 16:39:14714 20932错误[org.codehaus.groovy.grails.plugins.DefaultGrailsPluginManager](pool-7-thread-1:)为插件配置动态方法时出错[hibernate:2.0.3]:java.lang.NoClassDefFoundError:org.grails.datastore.mapping.core.AbstractDatastore
org.codehaus.groovy.runtime.InvokerInvocationException:java.lang.NoClassDefFoundError:org.grails.datastore.mapping.core.AbstractDatastore
位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
位于java.util.concurrent.FutureTask.run(FutureTask.java:138)
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
运行(Thread.java:680)
原因:java.lang.NoClassDefFoundError:org.grails.datastore.mapping.core.AbstractDatastore
位于java.lang.Class.forName(Class.java:171)
... 还有5个
我尝试过重命名jar文件,并将依赖范围更改为运行时,但没有成功

我也尝试过升级使用链接,但仍然得到相同的错误


非常感谢任何帮助

您是否检查了该错误是否已在更高版本中报告或修复?如果您使用相同的名称修复,则无需排除并手动添加依赖项。@sérgioMichels您的意思是我只需将修补过的jar放入库中,而不必排除并添加它。那么Grails如何知道应该使用lib文件夹中的依赖项呢?谢谢你的帮助。@Alidad该漏洞在2.x.x.x版本中已修复,但它不是一个发布版本,这意味着它不稳定。所以我不想用它。但另一方面。我还尝试使用问题中给出的链接使用更高版本的jar而不是1.1.4.RELEASE,但它对我不起作用,并给出了相同的错误。@khobab此jar在Grails安装库中还是在您的project lb文件夹中?如果您在Grails库中替换,我很确定它会被使用。