在我的grails应用程序中,我使用了第三方库,该库大量使用了getClass().getClassLoader().getResource("/some/thing")
-具有绝对路径的资源加载。
资源在grails-app/conf
中。使用grails run-app
,使用的类加载器是org.codehaus.groovy.grails.cli.support.GrailsRootLoader
。使用此类加载器,当使用绝对路径时解析失败。资源可以解析,而无需在前面加上“/”,例如some/thing
确实可以解决。在单元测试中,或者在将应用打包为 war 时,资源也会使用前面的“/”来解析。这两者并没有真正的帮助。
使用GrailsRootLoader
命令运行应用程序时,如何获取grails
解析绝对路径?
PS:我在Linux上使用grails-2.0.3,并尝试使用Java版本1.7.0_01(Oracle)和1.6.0_24(OpenJDK)。
最佳答案
我尚未尝试过,但是看起来应该在第三方lib中修复此问题:getResourceAsStream fails under new environment?
关于grails - 如何获得GrailsRootLoader解析具有绝对路径的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10463670/