【问题标题】:Grails resources: Image is 404 even though it exists in the WARGrails 资源:图像是 404,即使它存在于 WAR 中
【发布时间】:2012-07-29 12:14:26
【问题描述】:

我有 3 个 Grails 2.x 项目。在本例中,它们是:

ProjectCore    - A Grails plugin containing all reusable code (domains, taglibs, etc)
ProjectWeb     - Front facing web application.  Uses ProjectCore
ProjectAdmin   - Admin appliction.  Uses ProjectCore

几乎所有的图像、js、taglibs、服务等都在 ProjectCore 中,在各个项目中只有应用特定的控制器/视图/服务/js/css。

使用 NetBeans 作为我的 IDE,一切都在本地运行良好。我完成了 ProjectAdmin 项目,并将其部署到运行 Tomcat 6 的 Ubuntu 服务器上。应用程序中的所有内容都按预期工作,除了 1 个图像:avatar.png(包含在 ProjectCore 应用程序中)。

我正在使用 g:resource 标记创建所有图像链接,并且它们都正确解析为 /static/images/some_image_name.png url,除了这张图像。我还验证了该图像存在于战争中(位于所有其他图像所在的 plugins/ProjectCore/images)。

对于这个特定的图像,如果用户没有为自己上传头像,我将使用标记库 (AvatarTagLib) 创建指向该图像的链接。此 Taglib 在 ProjectRoot 中,但正在从其他项目中调用。我相信其他图像是从特定项目中的视图中调用的,所以这可能是挂断的地方。

最初,当我部署应用程序时,我忘记将战争(和包含目录)的所有权更改为 tomcat6:tomcat6,所以我遇到的问题不仅是这个图像,还有来自 SpringSecurityPlugin 的 messages.properties 文件.我将其全部清除,修复了权限,并且解决了除此之外的所有问题。

以前有没有人遇到过这种行为,或者知道我可以通过其他途径解决这个问题吗?

编辑:我忘了提一件事。当我尝试通过http://admin.mydomain.com/images/avatar.pnghttp://admin.mydomain.com/static/images/avatar.png 直接访问图像时,都返回404。但是,我可以通过这种方式访问​​其他图像。

编辑 2:这不仅限于单个图像。它影响了插件中大约一半的图像。

【问题讨论】:

  • 您是否将 plugin='projectRoot' 传递给您的标签?
  • @tomas 不,我不是。我假设您的意思是 g:resource 标签?另外,我在上面对直接访问文件进行了编辑。

标签: tomcat grails resources


【解决方案1】:

升级资源插件为我解决了这个问题。我用runtime ":resources:1.2.RC2"更新了BuildConfig.groovy

【讨论】:

    【解决方案2】:

    尝试将资源插件升级到1.2-RC1。

    我有一个非常相似的问题,我的 3 个 png 在 /images 和 /static/images 下直接访问时会返回 404 错误。这些图像被命名为 dot.png、calendar.png 和 dotted_vertical.png。如果我重命名它们(例如 dotted_vertica.png 或 dotted_vertical1.png),它们会起作用,但我找不到任何其他相似之处或模式。确实很奇怪。

    【讨论】:

      【解决方案3】:

      不看代码就不能说真的。

      1) 您可能必须为插件中的资源传递 plugin= 2) 你试过 r:resource 吗?

      如果您可以将其隔离为一个微不足道的插件和应用程序,请创建一个 jira

      【讨论】:

        【解决方案4】:

        我也遇到了同样的问题。

        我解决了它在 BuildConfig.groovy 中将资源插件(运行时“:resources:1.1.6”)更改为 webxml 插件(编译“:webxml:1.4.1”),现在它可以工作了。

        我希望它也对你有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-09-08
          • 2012-01-17
          • 2021-02-11
          • 2015-10-26
          • 1970-01-01
          • 2022-01-05
          • 1970-01-01
          相关资源
          最近更新 更多