Tengo 3 proyectos de Grails 2.x. Para este ejemplo son:Recursos de Grails: La imagen es 404 aunque existe en WAR
ProjectCore - A Grails plugin containing all reusable code (domains, taglibs, etc)
ProjectWeb - Front facing web application. Uses ProjectCore
ProjectAdmin - Admin appliction. Uses ProjectCore
Casi todas las imágenes, js, taglibs, servicios, etc, son en ProjectCore, con determinados controladores/views/servicios/aplicaciones solamente JS/CSS de los proyectos individuales.
Todo funciona bien a nivel local, utilizando NetBeans IDE como mi. Prefiero el proyecto ProjectAdmin y lo implementé en mi servidor Ubuntu ejecutando Tomcat 6. Todo en la aplicación funciona como se esperaba, excepto 1 imagen: avatar.png (que está contenida en la aplicación ProjectCore).
Estoy usando la etiqueta g: resource para crear todos los enlaces de imagen, y todos se están resolviendo correctamente en la URL /static/images/some_image_name.png correctamente, excepto esta imagen. También verifiqué que la imagen está presente en la guerra (ubicada en plugins/ProjectCore/images donde están todas las otras imágenes).
Para esta imagen en particular, estoy usando un taglib (AvatarTagLib) para crear el enlace a esta imagen si el usuario no ha subido un avatar para sí mismos. Este Taglib está en ProjectRoot, pero se llama desde los otros proyectos. Creo que las otras imágenes están siendo llamadas desde puntos de vista dentro de los proyectos específicos, por lo que podría ser donde está el hangup.
Inicialmente cuando implementé la aplicación, me olvidé de cambiar la propiedad de la guerra (y el directorio que contiene) a tomcat6: tomcat6, por lo que tuve problemas no solo con esta imagen, sino con el archivo messages.properties de SpringSecurityPlugin. Lo eliminé por completo, arreglé los permisos y eso resolvió todos los problemas, excepto este.
Alguien ha encontrado este comportamiento antes, o conoce a otros caminos que puede bajar a resolver esto?
Editar: Una cosa que olvidé mencionar. Cuando intento acceder a la imagen directamente, ya sea a través de http://admin.mydomain.com/images/avatar.png o http://admin.mydomain.com/static/images/avatar.png, ambos devuelven 404. Sin embargo, puedo acceder a otras imágenes de esta manera.
Editar 2: Esto no se limita a una sola imagen. Está afectando aproximadamente la mitad de las imágenes que están en el complemento.
¿Está pasando plugin = 'projectRoot' a su etiqueta? –
@tomas No, yo no soy. ¿Supongo que te refieres a la etiqueta g: resource? Además, he realizado una edición anterior sobre el acceso directo al archivo. – aasukisuki