今天当我用Velocity 的如下方式加载模板的时候,
Properties p = new Properties();
p.put("file.resource.loader.class","org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
Velocity.init(p);
遇到这样的异常。
2011-8-19 22:31:41 org.apache.velocity.runtime.log.JdkLogChute log
严重: ResourceManager : unable to find resource 'java/rules/isGreaterOrEquals.vm' in any resource loader.
Error : cannot find template java/rules/isGreaterOrEquals.vm
2011-8-19 22:31:44 org.apache.velocity.runtime.log.JdkLogChute log
严重: ResourceManager : unable to find resource 'java/rules/isGreaterOrEquals.vm' in any resource loader.
Error : cannot find template java/rules/isGreaterOrEquals.vm
2011-8-19 22:31:49 org.apache.velocity.runtime.log.JdkLogChute log
严重: ResourceManager : unable to find resource 'java/rules/isGreaterOrEquals.vm' in any resource loader.
Error : cannot find template java/rules/isGreaterOrEquals.vm
而奇怪的是我加载另外一个路径java/abc.vm 的时候,却可以加载成功,反复思量都无法知道原因。
后来尝试去掉最后的文件夹,即把模板放到 java/isGreaterOrEquals.vm, 即可以加载成功。
虽然不知道原因,但这也算是一种解决方法吧。特记录下来供大伙参考,也希望高手代为解析。