首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何访问Grails项目中的Java资源?

如何访问Grails项目中的Java资源?
EN

Stack Overflow用户
提问于 2014-10-31 23:58:16
回答 2查看 911关注 0票数 1

我是Grails新手。我的应用程序是Grails的,我的集成开发环境是IntelliJ IDEA。我将我的项目(在IntelliJ中)配置为我的资源文件夹在root\src\resources下。我有一个需要加载到InputStream / BufferedImage中的图像文件。但是,我似乎无法从我的Grails控制器访问这些资源。这就是我所尝试的:

代码语言:javascript
复制
def image = this.getClass().getClassLoader().getResourceAsStream("image.png")

但这只会返回null。我在Java项目中使用了完全相同的约定(好吧,除非我必须声明image的类型为InputStream),并且它确实在那里起作用。我的印象是,我基本上可以将Java代码放到Grails项目中,它应该可以正常工作。我需要做些什么才能让它在我的Grails控制器中工作呢?我需要访问该静态资源文件。

EN

回答 2

Stack Overflow用户

发布于 2014-11-01 00:20:45

如果您在IntelliJ IDEA中将一个目录标记为源目录,Grails将不会知道它。您必须正确配置Grails,方法是将新目录添加为源目录,或者将资源移动到标准源目录之一。

实际上,我自己从来没有添加过新的源目录,但是this堆栈溢出问题的答案看起来很有希望。

除此之外,您只需将资源添加到任何源目录,它将被包括在内,例如:grails-app/confsrc/javasrc/groovy等。此外,web-app/META-INF/classes中的任何文件也将位于应用程序的类路径中。如果您需要复制java或groovy源文件(即只复制,不编译),那么最后一个是很好的。

票数 2
EN

Stack Overflow用户

发布于 2014-11-01 01:06:19

尝尝这个

代码语言:javascript
复制
servletContext.getResourceAsStream("/WEB-INF/resources/yourfile")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26678756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档