Grails版本从2.4.4升级到2.5.3

时间:2016-10-05 09:46:56

标签: grails

我在grails 1.3.7中创建了一个简单的项目。现在我正在完成版本更改的任务。首先我将1.3.7项目带到了2.4.4。它运行得很好。 我在我的文件BuildConfig.groovy文件,urlmapping,index.gsp,applicationcontext.xml,application.pro中所做的更改

       applicationContext.xml

             <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<bean id="grailsApplication" class="org.codehaus.groovy.grails.commons.GrailsApplicationFactoryBean">
    <description>Grails application factory bean</description>
    <property name="grailsDescriptor" value="/WEB-INF/grails.xml"/>
    <!--<property name="grailsResourceLoader" ref="grailsResourceLoader" />-->
</bean>

<bean id="pluginManager" class="org.codehaus.groovy.grails.plugins.GrailsPluginManagerFactoryBean">
    <description>A bean that manages Grails plugins</description>
    <property name="grailsDescriptor" value="/WEB-INF/grails.xml"/>
    <property name="application" ref="grailsApplication"/>
</bean>

<bean id="grailsConfigurator" class="org.codehaus.groovy.grails.commons.spring.GrailsRuntimeConfigurator">
    <constructor-arg>
        <ref bean="grailsApplication"/>
    </constructor-arg>
    <property name="pluginManager" ref="pluginManager"/>
</bean>

<!--<bean id="grailsResourceLoader" class="org.codehaus.groovy.grails.commons.GrailsResourceLoaderFactoryBean">-->
<!--<property name="grailsResourceHolder" ref="grailsResourceHolder" />-->
<!--</bean>-->

<!--<bean id="grailsResourceHolder" scope="prototype" class="org.codehaus.groovy.grails.commons.spring.GrailsResourceHolder">-->
<!--<property name="resources">-->
<!--<value>classpath*:**/grails-app/**/*.groovy</value>-->
<!--</property>-->
<!--</bean>    -->

<bean id="characterEncodingFilter"
      class="org.springframework.web.filter.CharacterEncodingFilter">
    <property name="encoding">
        <value>utf-8</value>
    </property>
</bean>
<bean id="conversionService"            
          class="org.springframework.context.support.ConversionServiceFactoryBean" />

urlMappings

   class UrlMappings {

    static mappings = {
    "/$controller/$action?/$id?(.$format)?"{
        constraints {
            // apply constraints here
        }
    }

    "/"(view:"/index")
    "500"(view:'/error')
       }
     }
index.gsp文件中的

       %{--<li>Groovy version:    

            ${org.codehaus.groovy.runtime.InvokerHelper.getVersion()}  </li>--}% to


      <li>Groovy version: ${GroovySystem.getVersion()}</li>

现在我正在尝试将其从2.4.4转换为2.5.3。但是出现了错误。

错误是

[localhost-startStop-1] ERROR context.GrailsContextLoaderListener  - Error 

 initializing the application:Error creating bean with name   

 'defaultGrailsintConverter':

  Injection of autowired dependencies failed; nested exception is  

         org.springframework.beans.factory.BeanCreationException: 

 Could not autowire field: private   

            org.springframework.web.servlet.LocaleResolver   

       org.grails.databinding.converters.web.LocaleAwareNumberConverter.

localeResolver;        

请帮帮我。我应该编译spring security插件吗?

1 个答案:

答案 0 :(得分:0)

您可能希望列出在升级中执行的步骤。您更改了哪些文件,更改了哪些依赖项等等。

此外,还有一些关于升级的博客。并非所有应用程序都使用相同的Grails,因此并非所有升级都是相同的。这是一对夫妇: http://totalprogus.blogspot.com/2015/03/upgrade-grails-244-to-250.html http://peedeebeesblog.blogspot.com/2015/06/moving-up-grails-243-to-250.html

最后,每一卷Grails都有一个发行说明,提供有关升级期间可能需要做什么的说明。以下是2.5.0的注释: https://github.com/grails/grails-core/releases/tag/v2.5.0

你的错误看起来不像Spring Security Plugin,只是Spring注入,虽然它有点难以分辨格式。