简体   繁体   中英

resource plugin error when upgrading from grails 2.3.8 2.4

Im following the docs trying to upgrade my project from 2.3.8 to 2.4, but I am encountering these error(s)

localhost-startStop-1] ERROR resource.ResourceProcessor  - Unable to load resources
Message: No signature of method: groovy.util.ConfigObject.getGrailsPlugin() is applicable    
for argument types: (java.lang.String) values: [lesscss-resources]


->>    5 | run                   in BootstrapResources
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     46 | doCall                in org.grails.plugin.resource.module.ModuleDeclarationsFactory$_getModuleDeclarations_closure2
|     41 | getModuleDeclarations in org.grails.plugin.resource.module.ModuleDeclarationsFactory
|    715 | loadModules           in org.grails.plugin.resource.ResourceProcessor
|   1013 | reloadAll . . . . . . in     ''
|    166 | doCall                in ResourcesGrailsPlugin$_closure3
|    262 | run . . . . . . . . . in java.util.concurrent.FutureTask
|   1145 | runWorker             in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    744 | run                   in java.lang.Thread
Error |
2014-06-03 13:38:16,282 [localhost-startStop-1] ERROR [localhost].   [/DocumentManagementSystem]  - Exception starting filter sitemesh
Message: org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter
Line | Method
->>   59 | findClass in org.grails.plugins.tomcat.ParentDelegatingClassLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    425 | loadClass in java.lang.ClassLoader
|    358 | loadClass in     ''
|    262 | run       in java.util.concurrent.FutureTask
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    744 | run . . . in java.lang.Thread
Error |
2014-06-03 13:38:16,300 [localhost-startStop-1] ERROR core.StandardContext  - Error     filterStart
Error |

Does this sound like a plugin issue? Or something I might have skipped over in the documentation

Here is my buildconfig plugin section

plugins {
    // plugins for the build system only
    build ":tomcat8:8.0.5"

    // plugins for the compile step
    compile ":scaffolding:2.1.0"
    compile ':cache:1.1.6'
//      compile ":mail:1.0.5"
//      compile ":ckeditor:4.4.0.0-SNAPSHOT"
    compile ":searchable:0.6.7"
    compile ":jquery:1.11.1"
//      compile ":shiro:1.2.1"
//      compile ":resources:1.2.8"
    compile ':asset-pipeline:1.8.3'
//      compile (":nimble:0.7"){
//          
//          exclude "servlet-api"
//          
//          }

    // plugins needed at runtime but not for compilation
    runtime ":hibernate:3.6.10.15" // or ":hibernate4:4.3.5.1"
    runtime ":database-migration:1.4.0"
    runtime ":jquery:1.11.1"
    runtime ":resources:1.2.8"

New sitemesh error

Error |
2014-06-03 14:41:32,304 [localhost-startStop-1] ERROR [localhost].[/DocumentManagementSystem]  - Exception starting filter sitemesh
Message: org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter
Line | Method
->>   61 | findClass in org.grails.plugins.tomcat.ParentDelegatingClassLoader
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    425 | loadClass in java.lang.ClassLoader
|    358 | loadClass in     ''
|    262 | run       in java.util.concurrent.FutureTask
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run       in java.util.concurrent.ThreadPoolExecutor$Worker
^    744 | run . . . in java.lang.Thread
Error |

Your web.xml may still contain references to the sitemesh filter:

http://grails.org/doc/2.4.3/guide/upgradingFrom23.html

The Sitemesh servlet filter has been removed and the GSP layout feature is now handled by GrailsLayoutView.

Rename the src/templates folder to src/templates-old, then run grails install-templates. If you previously customised your web.xml, you will need to edit the generated web.xml to make these changes again.

As it says in documentation no longer you need to use resource plugin:

 As of Grails 2.4 the resources plugin has been replaced with the asset-pipeline 

now you could use asset plugin instead. use this link and you can easily upgrade your resources from 2.3.8 to 2.4.

This is an issue in the jQuery-ui plugin in JqueryUiPluginResources.groovy in the following two lines:

def appCtx = org.codehaus.groovy.grails.commons.ApplicationHolder.application.mainContext

def plugin = appCtx.pluginManager.getGrailsPlugin('jquery-ui')

The fix for this is present in the following commit: https://github.com/gpc/grails-jquery-ui/pull/13

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM