本文介绍了“加载插件管理器时出错:TomcatGrailsPlugin”关于Grails 2.3数据库迁移的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用Grails 2.3和Grails数据库迁移插件(1.3.6)。
当我执行grails dbm-update时,出现以下错误。如何解决这个错误?
错误错误加载插件管理器:TomcatGrailsPlugin(注意:堆栈跟踪已被过滤使用 - 。详细看到整个跟踪)
抛出java.lang.ClassNotFoundException:TomcatGrailsPlugin
在_GrailsBootstrap_groovy $ _run_closure2.doCall(_GrailsBootstrap_groovy:40)
在org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass。 Java的:133)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)$ b $ org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)$ b在org.codehaus.gant.GantBinding.this $ 4 $ withTargetEvent(GantBinding.groovy)
在org.codehaus。 gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
at org.codehaus.gant.GantBinding $ _initializeGantBinding在_GrailsBootstrap_groovy上
$ _run_closure6.doCall(_GrailsBootstrap_groovy:64)
at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)
at _GrailsBootstrap_groovy $ _run_closure6.doCall .codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)
。在org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)
。在org.codehaus.gant.GantBinding.this $ 4 $ withTargetEvent(GantBinding。常规)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)
在org.codehaus.gant.GantMetaClass.processClosure(GantMetaC lass.java:81)
at org.codehaus.gant.GantMetaClass.processArgument(GantMetaClass.java:95)
at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:128)
at _DatabaseMigrationCommon_groovy $ _run_closure1.doCall(_DatabaseMigrationCommon_groovy:25)
at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)
at org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall (GantBinding.groovy:185)
。在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)
。在org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)
在org.codehaus.gant.GantBinding.this $ 4 $ withTargetEvent(GantBinding.groovy)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)
at org .codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)
在org.codehaus.gant.GantMetaClass.processClosure(GantMetaClass.java:81)
在org.codehaus.gant.GantMetaClass.processArgument(GantMetaClass.java:95)
在org.codehaus.gant .GantMetaClass.invokeMethod(GantMetaClass.java:128)
在DbmUpdate $ _run_closure1.doCall(DbmUpdate:23)
在org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)
在org.codehaus。 gant.GantBinding.withTargetEvent(GantBinding.groovy:90)
。在org.codehaus.gant.GantBinding.this $ 4 $ withTargetEvent(GantBinding.groovy)
。在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall (GantBinding.groovy:185)
在org.codehaus.gant.GantBinding $ _initializeGantBinding_closure5_closure16.doCall( GantBinding.groovy)
at gant.Gant $ _dispatch_closure5.doCall(Gant.groovy:381)
at gant.Gant $ _dispatch_closure7.doCall(Gant.groovy:415)
at gant.Gant $ _dispatch_closure7.doCall(Gant.groovy)
at gant.Gant.withBuildListeners(Gant.groovy:427)
at gant.Gant.this $ 2 $ withBuildListeners(Gant.groovy)
at gant .Gant $ this $ 2 $ withBuildListeners.callCurrent(Unknown Source)
at gant.Gant.dispatch(Gant.groovy:415)
at gant.Gant.this $ 2 $ dispatch(Gant.groovy)
at gant.invokeMethod(Gant.groovy)
at gant.Gant.executeTargets(Gant.groovy:591)
at gant.Gant.executeTargets(Gant.groovy:590)
|错误加载插件管理器错误:TomcatGrailsPlugin
解决方案
em>超级烦人 bug。我的应用程序依赖于使用运行脚本运行脚本,并获得相同的行为。这是我做的一个解决方法:
插件{
...
// grails 2.3。 2和tomcat 7.0.42会导致脚本无法正常工作:(在脚本中传递-DnoTomcat = true以修复此
if(System.getProperty(noTomcat)== null){
build :tomcat:7.0.42
}
然后当你运行你的脚本:
grails -DnoTomcat = true运行脚本脚本/ MyScript.groovy
确实令人讨厌,但至少您可以在等待修复时使用所有其他最新功能。
I use Grails 2.3 and the Grails database migration plugin (1.3.6).
When I do grails dbm-update I get the following error. How can I solve this error?
Error Error loading plugin manager: TomcatGrailsPlugin (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.) java.lang.ClassNotFoundException: TomcatGrailsPlugin at _GrailsBootstrap_groovy$_run_closure2.doCall(_GrailsBootstrap_groovy:40) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy) at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90) at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at _GrailsBootstrap_groovy$_run_closure6.doCall(_GrailsBootstrap_groovy:64) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy) at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90) at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy) at org.codehaus.gant.GantMetaClass.processClosure(GantMetaClass.java:81) at org.codehaus.gant.GantMetaClass.processArgument(GantMetaClass.java:95) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:128) at _DatabaseMigrationCommon_groovy$_run_closure1.doCall(_DatabaseMigrationCommon_groovy:25) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy) at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90) at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy) at org.codehaus.gant.GantMetaClass.processClosure(GantMetaClass.java:81) at org.codehaus.gant.GantMetaClass.processArgument(GantMetaClass.java:95) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:128) at DbmUpdate$_run_closure1.doCall(DbmUpdate:23) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy) at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90) at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy) at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381) at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415) at gant.Gant$_dispatch_closure7.doCall(Gant.groovy) at gant.Gant.withBuildListeners(Gant.groovy:427) at gant.Gant.this$2$withBuildListeners(Gant.groovy) at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) at gant.Gant.dispatch(Gant.groovy:415) at gant.Gant.this$2$dispatch(Gant.groovy) at gant.Gant.invokeMethod(Gant.groovy) at gant.Gant.executeTargets(Gant.groovy:591) at gant.Gant.executeTargets(Gant.groovy:590) | Error Error loading plugin manager: TomcatGrailsPlugin
解决方案This is a super annoying bug. My application depends on running scripts with run-script and I get the same behavior. Here's what I did as a workaround:
plugins { ... // grails 2.3.2 and tomcat 7.0.42 cause scripts to not work :( Pass -DnoTomcat=true in the script args to fix this if (System.getProperty("noTomcat") == null) { build ":tomcat:7.0.42" } }
Then when running your script:
grails -DnoTomcat=true run-script scripts/MyScript.groovy
Annoying for sure, but at least you can use all the other latest features while awaiting a fix.
这篇关于“加载插件管理器时出错:TomcatGrailsPlugin”关于Grails 2.3数据库迁移的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!