Grails 3 - 获得服务中的资产路径

ilP*_*tiz 0 grails asset-pipeline grails-services grails-3.0

我需要获取位于assets/schemas/resource.jsonGrails 3服务中的静态资源的路径.

目前定义为

private final String SCHEMA = 'grails-app/assets/schemas/resource.json',
Run Code Online (Sandbox Code Playgroud)

这对development环境很好,但当然不适合生产(因为它将位于<app_root>/assets/resource.json.

我试图在我的案例中搜索如何利用资产管道,但到目前为止我真的不知道:P

提前致谢!

Mex*_*exx 5

它在本地工作,但在部署到服务器时则不工作.使用Grails 3.1.0,Java 1.8.0_91和Tomcat 8.0.33.

assetResourceLocator?.findAssetForURI('myFolder/placeholder.jpg')?.byteArray
Run Code Online (Sandbox Code Playgroud)

回报

groovy.lang.MissingPropertyException:没有这样的属性:类的byteArray:org.springframework.web.context.support.ServletContextResource

编辑:解决它:

assetResourceLocator?.findAssetForURI('myFolder/placeholder.jpg')?.getInputStream()?.bytes
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我遇到了同样的问题(在开发中工作,但不在生产中)。这个解决方案在 grails 2.4.5 中也对我有用! (2认同)