2012-12-25 3 views
1

나는 2.2 NullPointerException이 업그레이드 컴파일을 Grails의 응용 프로그램

  • 이 경로를 편집 내 Grails는 다음

    1. Grails의 위치에 GRAILS_HOME 변수를 설정 수행하여 2.2 Grails를 위해 1.3.7 응용 프로그램을 업그레이드 모든 플러그인을 제거 application.properties을 편집
    2. grails upgrade
    3. 을 실행이 위치를 참조하는 것은
    4. Build.config를 편집 참조 (7) 다음 오류와 함께 실패 grails compile

    단계 란 grails clean

  • 란 내 플러그인을 참조하는 plugins 폐쇄를 만들 :

    C:\code\querium\AppServer-grails-2>grails compile --stacktrace 
    | Compiling 98 source files 
    | Warning The [executeSafely] action accepts a parameter of type [groovy.lang.Closure] which has not been marked with @V 
    alidateable. Data binding will still be applied to this command object but the instance will not be validateable. 
    
         def executeSafely(Closure c) { 
        ^
    | Warning The [executeSafely] action accepts a parameter of type [groovy.lang.Closure] which has not been marked with @V 
    alidateable. Data binding will still be applied to this command object but the instance will not be validateable. 
    
         def executeSafely(Closure c) { 
        ^
    | Warning The [increment] action accepts a parameter of type [java.util.Map] which has not been marked with @Validateabl 
    e. Data binding will still be applied to this command object but the instance will not be validateable. 
    
         def increment(Map map, String t, int index) { 
        ^
    | Compiling 98 source files. 
    | Error Fatal error during compilation org.apache.tools.ant.BuildException: Compilation Failed (NOTE: Stack trace has be 
    en filtered. Use --verbose to see entire trace.) 
    java.lang.NullPointerException 
         at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
         at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 
         at org.codehaus.gant.GantBuilder.invokeMethod(GantBuilder.java:99) 
         at _GrailsCompile_groovy$_run_closure2_closure6_closure7.doCall(_GrailsCompile_groovy:48) 
         at _GrailsCompile_groovy$_run_closure2_closure6_closure7.doCall(_GrailsCompile_groovy) 
         at _GrailsCompile_groovy.withCompilationErrorHandling(_GrailsCompile_groovy:69) 
         at _GrailsCompile_groovy.this$4$withCompilationErrorHandling(_GrailsCompile_groovy) 
         at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) 
         at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:168) 
         at _GrailsCompile_groovy$_run_closure2_closure6.doCall(_GrailsCompile_groovy:47) 
         at _GrailsCompile_groovy$_run_closure2_closure6.doCall(_GrailsCompile_groovy) 
         at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) 
         at _GrailsCompile_groovy$_run_closure2.doCall(_GrailsCompile_groovy:46) 
         at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) 
         at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) 
         at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:1 
    85) 
         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 Fatal error during compilation org.apache.tools.ant.BuildException: Compilation Failed 
    

    을 나는 실제 오류가 어디까지 확실하지 않다 , 그리고 그것을 고치는 방법. 나는 그 (것)들을 고칠 좋은 이유가 있으면 않는 한, 경고를 무시하게 행복하다. (그렇다면 어떻게?)

  • 답변

    2

    NPE에 대해서는 확실하지 않지만 경고는 컨트롤러의 공용 메소드 때문입니다. 컨트롤러는 응용 프로그램 코드에서 호출 할 수 없으므로 공용 메서드가 적합하지 않습니다. 2.0 이상의 액션은 클로저에 추가 된 메소드가 될 수 있으므로 헬퍼 메소드가 컨트롤러 액션으로 오해되고 있습니다. 그들을 비공개로 만들고 경고가 사라지고 행운을 빕니다.

    문서 btw의 업그레이드 정보가 있습니다.

    +0

    포인터 (고맙습니다)에게 감사드립니다! 문서에서 업그레이드 정보는 어디에 있습니까? grails 사이트를 보았을 때 전혀 눈에 띄지 않았습니다 ... –

    +0

    http://grails.org/doc/latest/guide/upgradingFromPreviousVersionsOfGrails.html과 http://grails.org/doc의 처음 세 항목을 참조하십시오./latest/Grails 2.2의 새로운 기능, Grails 2.1의 새로운 기능, 새로운 기능 및 변경 사항에 대한 설명이 포함 된 Grails 2.0의 새로운 기능. –

    관련 문제