【发布时间】:2012-06-12 04:42:30
【问题描述】:
这让我发疯了。
所以我有一个正在开发的 grails 2.0 应用程序。今天我在 web-app/images 目录中添加了一个新的 png,但是由于某种原因,当我在浏览器中访问它时它没有显示出来。例如,当我将其粘贴到浏览器中时
http://localhost:8080/static/images/logo.png
徽标已送达。我什至清除了我的缓存以确保我没有收到缓存版本
然后我做了
http://localhost:8080/static/images/test.png
我得到一个 404。
然后我尝试在终端中卷曲两个网址并获得相同的结果。 logo.png 返回图像数据,而 test.png 返回 404 html。
两个图像都在同一个目录中。我什至做了一个 ls -la 来检查权限,它们都是一样的。
奇怪的是,它今天早些时候就已经送达了。无法弄清楚发生了什么变化。我什至将我的代码库恢复到早期版本,我得到了同样的错误。
任何建议将不胜感激!这让我发疯。如此接近完成我正在开发的功能 =(
【问题讨论】:
-
你试过'grails clean'然后运行吗?您是在开发模式下运行还是作为战争部署?
-
是的,我也试过了。清理,甚至删除了目标目录中的所有内容。还尝试了 run-war,并打包到战争中并将其放入 tomcat,但结果相同。
-
我更改了 grails 中的日志记录级别,但在启动 grails 时确实收到了此 WARN 消息:servlet.DefaultGrailsApplicationAttributes - ApplicationContext not found in org.codehaus.groovy.grails.APPLICATION_CONTEXT attribute of servlet context . 它是在配置弹簧安全性之后出现的。不确定这是否与此有关。
-
一些非常奇怪的事情正在发生。所以删除了 logo.png,正如预期的那样,它得到了 404。我把它放回去,它就会被送达。然后我制作一个副本,将其重命名为 test2.png 将其放入网络应用程序图像中,然后我得到一个 404 .. 然后我将 logo.png 重命名为 logo2.png 并且 logo2.png 得到一个 404。我将 test2.png 重命名为logo.png 我仍然得到一个 404 .. 不知道该怎么做。我在每条路径之间重新启动了 grails 并进行了清理。
-
所以我找到了解决方法.. 不是修复。仍然不确定是什么原因。在 js 文件中,我正在构建 img 标签“”,它在控制台中给了我 404 错误。但如果我这样做 "var img = "${resource(dir: 'images', file: 'qrcode/qrcode.png')}";"在 gsp 页面中。有用。我假设它以某种方式将其注册到 grails 中的资源插件中。任何对此有任何见解的人将不胜感激。
标签: image grails http-status-code-404 grails-2.0