具有缓存资源的资源插件

时间:2014-05-12 16:05:48

标签: grails grails-2.0 grails-2.3

Grails 2.3.7和缓存资源插件,至少使用lesscss资源无法正常工作。

缓存的插件返回一个错误,该错误与此主题中描述的错误相同:

<dt>Class</dt><dd>java.lang.NullPointerException</dd><dt>Message</dt><dd>Cannot invoke method cache() on null object</dd></dl><h2>Around line 31 of <span class="filename">grails-app/resourceMappers/org/grails/plugin/cachedresources/HashAndCacheResourceMapper.groovy</span></h2>
<pre class="snippet"><code class="line"><span class="lineNumber">28:</span> if (log.debugEnabled) {</code><code class="line"><span class="lineNumber">29:</span> log.debug &quot;Setting caching headers on ${req.requestURI

http://grails.1312388.n4.nabble.com/Grails-resources-bug-Unable-to-load-resources-at-startup-td4652307.html

问题是cacheHeadersService未在cacheheaders插件中注入或为null。

尝试解决这个问题我将cached-resources-plugin 1.1的内容从target / work / plugins复制到本地文件夹并添加了以下行:

grails.plugin.location.'cached-resources' = "../grailsplugins/cached-resources-1.1"

目的是自己解决这个问题。

然而,奇怪的是,当插件在本地使用时,注入cacheHeadersService的问题就消失了!

当在本地使用时,插件如何以不同的方式运行?与正常安装相比?

也许这是一个加载器问题,现在缓存资源插件是在声明服务之后加载的,但仍然值得报告。

在cache-resources插件的dependencies.groovy中,它声明了依赖项:

compile ":cache-headers:1.0.4"

但是很明显它没有在插件之前加载,除非从本地目录加载,很奇怪!

我也想知道,因为cache-resources插件声明了对tomcat的依赖:

 build(":tomcat:$grailsVersion",
              ":release:2.0.3",
              ":rest-client-builder:1.0.2") {
            export = false
        }

是tomcat的要求吗?尝试在主应用程序中更改为Jetty,构建过程失败,说在存储库中找不到tomcat。

build  ":jetty:2.0.3"// ":tomcat:7.0.52.1"

我刚刚发现了类似的问题:

Cached-resources plugin is not working? Grails Cache resources not working Resource not found on grails appliction with cache plugins

0 个答案:

没有答案