gpt4 book ai didi

Grails 2.4 ClassNotFoundException : Sitemesh GrailsPageFilter

转载 作者:行者123 更新时间:2023-12-01 11:34:26 25 4
gpt4 key购买 nike

请注意 : 这个问题几乎与this one titled "resource plugin error when upgrading from grails 2.3.8 2.4"重复,但是有几件事不同,在我看来,值得将其作为一个单独的问题提出:

  • 在那个问题中,问题和任何答案都没有解释为什么会发生这个错误,除了说明正在使用的插件不再是用于加载站点网格的官方 Grails 插件
  • 最重要的是:在那个问题中,从来没有一个公认的答案或来自原始海报的任何关于最终解决方案是什么的验证。我不会那样做。

  • 因此,我要求在您将其否决/关闭投票作为欺骗之前,请向我指出在其他问题中提供的确切解决方案的位置,该解决方案也适用于我的确切情况。 如果你不能这样做,请不要拒绝/关闭这个问题!

    我正在将 Grails 2.3.6 应用程序升级到 Grails 2.4.4。当我做 run-app我得到:
    Error |
    2015-03-05 14:42:44,257 [localhost-startStop-1] ERROR [localhost].[/myapp] - Exception starting filter sitemesh
    java.lang.ClassNotFoundException: org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter
    at org.grails.plugins.tomcat.ParentDelegatingClassLoader.findClass(ParentDelegatingClassLoader.java:59)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    Error |
    2015-03-05 14:42:44,268 [localhost-startStop-1] ERROR core.StandardContext - Error filterStart
    Error |
    2015-03-05 14:42:44,270 [localhost-startStop-1] ERROR core.StandardContext - Context [/myapp] startup failed due to previous errors

    这是我的 BuildConfig的插件部分:
    plugins {
    runtime ":resources:1.2.14"
    compile 'org.grails.plugins:gson:1.1.4'
    compile ":standalone:1.3"
    build ":release:3.0.1"
    runtime ":cached-resources:1.0"
    compile ":cache-headers:1.1.7"
    compile ":yammer-metrics:3.0.1-2"
    compile ":scaffolding:2.1.2"
    compile ':cache:1.1.1'
    runtime ":hibernate:3.6.10.8" // or ":hibernate4:4.3.1.1"
    runtime ":database-migration:1.3.8"
    runtime ":jquery:1.11.1"
    test(":geb:$gebVersion")
    test(":spock:0.7") {
    exclude "spock-grails-support"
    }
    }

    我愿意 不是 想用 asset-pipeline如果可以避免的话。到目前为止我读过的所有内容都表明使用 resources:1.2.14使 Grails 2.4.4 应用程序与资源插件兼容。

    有人可以解释使用 sitemesh 的 Grails 2.4.4 方式,以便此错误消失吗?如果使用 asset-pipeline不可避免,我需要对我的项目进行哪些确切的转换才能使用它。我确实尝试用最新的 Assets 管道插件替换资源插件,如下所示:
    plugins {
    ...
    //runtime ":resources:1.2.14"
    compile ":asset-pipeline:1.8.3"
    ...
    }

    但错误并没有消失。想法?

    最佳答案

    我不知道为什么你不能在 Grails 2.4.4 中使用资源插件,但我的建议是使用 asset-pipeline ,因为它远远优于旧版 resources插入。这是一篇很好的文章,解释了原因(来自插件的作者),以及如何:

  • Why asset pipeline over Grails resources plugin?

  • 编辑

    再看一遍,我相信这可能是不兼容的问题 web.xml从版本 2.3.x。其中有以下内容:
    <filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter</filter-class>
    </filter>

    这是新 2.4.x 的链接 web.xml文件:
  • https://gist.github.com/caseyscarborough/03b06f1cd7c2ff331c5a
  • 关于Grails 2.4 ClassNotFoundException : Sitemesh GrailsPageFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887118/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com