我正在尝试从Grails 2.2.3升级到Grails 2.4.0.为此我遵循了以下步骤:
我收到以下错误.有什么建议吗?
Error Compilation error: startup failed:
/home/madan/.grails/2.4.0/projects/mainthub/plugins/mail-1.0/src/groovy/grails/plugin/mail/MailMessageContentRenderer.groovy: 21: unable to resolve class org.codehaus.groovy.grails.plugins.PluginManagerHolder
@ line 21, column 1.
import org.codehaus.groovy.grails.plugins.PluginManagerHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/resources-1.2/grails-app/taglib/org/grails/plugin/resource/ResourceTagLib.groovy: 6: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 6, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/resources-1.2/src/groovy/org/grails/plugin/resource/ResourceProcessor.groovy: 6: unable to resolve class org.codehaus.groovy.grails.plugins.PluginManagerHolder
@ line 6, column 1.
import org.codehaus.groovy.grails.plugins.PluginManagerHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/resources-1.2/src/groovy/org/grails/plugin/resource/util/HalfBakedLegacyLinkGenerator.groovy: 3: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 3, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/joda-time-1.4/grails-app/taglib/grails/plugin/jodatime/taglib/PeriodTagLib.groovy: 18: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 18, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/email-confirmation-2.0.8/grails-app/services/com/grailsrocks/emailconfirmation/EmailConfirmationService.groovy: 24: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 24, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/email-confirmation-2.0.8/grails-app/services/com/grailsrocks/emailconfirmation/EmailConfirmationService.groovy: 25: unable to resolve class org.codehaus.groovy.grails.commons.ApplicationHolder
@ line 25, column 1.
import org.codehaus.groovy.grails.commons.ApplicationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/quartz-1.0-RC2/grails-app/conf/QuartzBootStrap.groovy: 18: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 18, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/quartz-1.0-RC2/grails-app/conf/QuartzBootStrap.groovy: 31: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 31, column 12.
if(ConfigurationHolder.config?.quartz?.autoStartup) quartzScheduler.start()
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/joda-time-1.4/src/groovy/grails/plugin/jodatime/binding/DateTimeEditor.groovy: 20: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 20, column 1.
import org.codehaus.groovy.grails.commons.ConfigurationHolder
^
/home/madan/.grails/2.4.0/projects/mainthub/plugins/joda-time-1.4/src/groovy/grails/plugin/jodatime/binding/DateTimeEditor.groovy: 30: unable to resolve class org.codehaus.groovy.grails.commons.ConfigurationHolder
@ line 30, column 38.
@Lazy private ConfigObject config = ConfigurationHolder.config?.jodatime?.format
^
11 errors
Run Code Online (Sandbox Code Playgroud)
Vas*_*huk 12
已从Grails 2.4.x中删除以下已弃用的类:
org.codehaus.groovy.grails.commons.ApplicationHolder
org.codehaus.groovy.grails.commons.ConfigurationHolder
org.codehaus.groovy.grails.plugins.PluginManagerHolder
org.codehaus.groovy.grails.web.context.ServletContextHolder
org.codehaus.groovy.grails.compiler.support.GrailsResourceLoaderHolder
Run Code Online (Sandbox Code Playgroud)
如果您或您安装的任何插件正在使用这些类,您将收到编译错误.可以通过更新到新插件并使用grails.util.Holders来解决此问题.
例如
application = org.codehaus.groovy.grails.commons.ApplicationHolder.application
Run Code Online (Sandbox Code Playgroud)
至
application = Holders.grailsApplication
Run Code Online (Sandbox Code Playgroud)