mor*_*gan 6 java grails resources
我正在使用 Grails 2.4.3,对于我的项目,我需要从 /src/java/com/company/MyClass.java 中的 .java 加载资源文件
我尝试了以下代码:
ClassLoader.getSystemResourceAsStream("myfile.txt")
Run Code Online (Sandbox Code Playgroud)
我试图将文件放在项目中的任何地方,但似乎没有找到。
当我在编译期间将文件放在目标/类中时,它起作用了。但它不可行(我不能在每次部署时都这样做)
如何在 grails 应用程序中声明要在 Java 代码中使用的资源?
类路径资源没有专用的资源目录,但资源包含在源目录中。
grails-app/conf例如,您可以将资源放在或中(最好是其子目录)src/java。
您可能会遇到使用系统类加载器加载它们的问题(谁知道 Web 应用程序中发生了什么类加载器魔法),但以下内容对我来说效果很好:
def myFileContents = getClass().getResource('/mydir/myfile.txt').text
Run Code Online (Sandbox Code Playgroud)
最后一点,如果文件是 java 或 groovy 文件,并且您不希望它编译(我前段时间遇到过这种情况),那么您可以选择将其直接包含在正确的 Web 应用程序目录中:web-app/WEB-INF/classes/mydir/myfile.groovy
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |