2016-10-05 3396 views
0

我在grails 1.3.7中創建了一個簡單的項目。現在我正在執行版本更改的任務。首先,我將1.3.7項目添加到2.4.4。它運行完美。 我已經在我的文件BuildConfig.groovy文件,urlMapping中,index.gsp中,applicationContext.xml中,application.pro perties取得Grails版本從2.4.4升級到2.5.3

 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') 
     } 
    } 

在指數的變化.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;   

請幫我this.Should我編譯春季安全插件?

回答

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注入,雖然有點難以判斷格式。

+0

不要把它放在評論中..把它添加到你的問題。 – billjamesdev

+1

當您提到您的初始項目時,1.3.7版本是一個「簡單」項目,您可能會發現創建一個全新的Grails 2.5項目並將項目後的域/控制器/視圖和任何src結束,這是一個不太麻煩的過程是安裝和指定插件/依賴關係。這種方法爲我提供了更平滑的升級途徑。 – Dave