Grails资源:即使它存在于WAR中,图像也是404

aas*_*uki 5 grails resources tomcat

我有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
Run Code Online (Sandbox Code Playgroud)

几乎所有的图像,js,taglib,服务等都在ProjectCore中,在各个项目中只有app特定的控制器/ views/services/js/css.

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

我正在使用g:resource标签来创建所有图像链接,除了这一个图像之外,它们都正确地正确解析到/static/images/some_image_name.png网址.我还验证了图像存在于战争中(位于插件/ ProjectCore /所有其他图像所在的图像).

对于这个特定的图像,如果用户没有为自己上传头像,我正在使用taglib(AvatarTagLib)来创建此图像的链接.此Taglib位于ProjectRoot中,但正在从其他项目中调用.我相信其他图像是从特定项目中的视图调用的,因此这可能是挂断的地方.

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

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

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

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

小智 4

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