Velocity找不到vm文件的解决方案
博客分类: Velocity
velocityEclipseApache
在Velocity中默认加载vm文件的类是FileResourceLoader,而这个类是用File来读取vm文件的。所以在不同的环境下,File的根目录是不一样的,如在eclipse项目中就是项目的文件夹为根目录 。
解决vm找不到的方法我知道的有这两种:
1. 设置把Velocity(RuntimeConstants)中的FILE_RESOURCE_LOADER_PATH对应的值设置为vm文件的绝对路径,如:properties.put(Velocity.FILE_RESOURCE_LOADER_PATH, "E:/project/velocity/vm/");
2. 一般vm文件可以放在src目录下,这样我们可以把默认加载vm文件类更改成ClasspathResourceLoader,ClasspathResourceLoader加载资源时是通过ClassLoader的getResourceAsStream方法。可以这样修改:properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");这样就可以直接加载classpath目录下的vm文件了。
博客分类: Velocity
velocityEclipseApache
在Velocity中默认加载vm文件的类是FileResourceLoader,而这个类是用File来读取vm文件的。所以在不同的环境下,File的根目录是不一样的,如在eclipse项目中就是项目的文件夹为根目录 。
解决vm找不到的方法我知道的有这两种:
1. 设置把Velocity(RuntimeConstants)中的FILE_RESOURCE_LOADER_PATH对应的值设置为vm文件的绝对路径,如:properties.put(Velocity.FILE_RESOURCE_LOADER_PATH, "E:/project/velocity/vm/");
2. 一般vm文件可以放在src目录下,这样我们可以把默认加载vm文件类更改成ClasspathResourceLoader,ClasspathResourceLoader加载资源时是通过ClassLoader的getResourceAsStream方法。可以这样修改:properties.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");这样就可以直接加载classpath目录下的vm文件了。